简体   繁体   English

Javascript将十进制数字格式转换为十进制后的树编号

[英]Javascript format a decimal number to tree numbers after decimal

How can I format numbers like 我该如何格式化数字

0.00012006 to 0.00012
0.00004494 to 0.0000449
0.000000022732 to 0.0000000227 without becoming a number like 2.3e-8 

I would like to know how I can change numbers like that in a fast/efficient way. 我想知道如何快速/有效地更改数字。
I would like to know how to convert those numbers but if someone knows how to format it only like that, I would like to know that too. 我想知道如何转换这些数字,但是如果有人只知道如何格式化它们,我也想知道。

You coud get the places of the number and add 2 on it for toFixed . 您可以算出数字的位置,然后在其上加上2代表toFixed

 function three(v) { var n = Math.floor(Math.log(v) / Math.LN10); return v.toFixed(n < 2 ? 2 - n : 0); } var n = [0.00012006, 0.00004494, 0.000000022732, 0.100101, 0.1100001, 1.000001, 12000, 10, 1e10]; console.log(n.map(three)); 

Use yourNumber.toFixed(numberOfDigitsAfterDot) like this: 像这样使用yourNumber.toFixed(numberOfDigitsAfterDot)

 function format(n) { var _n = n; // count the position of the first decimal var count = 0; do { n = n * 10; count++; } while(n < 1); return _n.toFixed(count + 2); } var num = 0.000000022732; console.log(format(num)); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM