Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function nextNumberTo(number) {
- number = number || 0;
- var order = calculateOrderOfMagnitude(number);
- var lineType = 'notShow';
- var tmpNumber;
- if (order >= 0) {
- tmpNumber = Math.floor(number * 10) / 10 + (0.1) * Math.pow(10, order);
- if (tmpNumber < -10) {
- tmpNumber = Math.ceil(tmpNumber);
- }
- tmpNumber = tmpNumber.toFixed(1);
- if ((tmpNumber * 10) % (10 * Math.pow(10, order)) === 0) {
- lineType = 'big';
- } else if ((tmpNumber * 10) % (5 * Math.pow(10, order)) === 0) {
- lineType = 'medium';
- } else if ((tmpNumber * 10) % (2 * Math.pow(10, order)) === 0) {
- lineType = 'small';
- }
- } else if (order <= -2) {
- tmpNumber = 0.05;
- lineType = 'small';
- } else {
- if (number < 0)
- tmpNumber = ((Math.ceil(number * 10).toFixed(0)) / 10 + (0.1)).toFixed(2);
- else
- tmpNumber = ((Math.floor(number * 10).toFixed(0)) / 10 + (0.1)).toFixed(2);
- if (Math.abs(tmpNumber) <= 0.001) {
- rmpNumber = 0;
- lineType = 'big';
- } else if (((tmpNumber * 100) % (1 * 100)) === 0) {
- lineType = 'big';
- } else if (((tmpNumber * 100) % (0.2 * 100)) === 0) {
- lineType = 'medium';
- } else if (((tmpNumber * 100) % (0.1 * 100)) === 0) {
- lineType = 'small';
- }
- }
- return {
- number: parseFloat(tmpNumber),
- lineType: lineType
- };
- function calculateOrderOfMagnitude(val) {
- // document.write('<span class="">-----' +val +'</span><br>');
- if (val === 0 || Math.abs(val) < 0.0001)
- return -2;
- else if (val > -1 && val < 1)
- return -1;
- else if (val == 1000)
- return 3;
- else if (val == 1000000)
- return 6;
- else if (val == 1000000000)
- return 9;
- else if (val == 1000000000000)
- return 12;
- else if (val == 10000000000000)
- return 1;
- else if (val == 1000000000000000)
- return 15;
- else if (val == 1000000000000000000)
- return 18;
- return Math.floor(Math.log(Math.abs(val)) / Math.LN10);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement