默认是会去掉0的,怎么带上0?不能用fixed方法
需求是原来有多少位小数就多少位小数,不是用fixed去定几位小数,直接把数字改成字符串并保留小数位
默认是会去掉0的,怎么带上0?不能用fixed方法
需求是原来有多少位小数就多少位小数,不是用fixed去定几位小数,直接把数字改成字符串并保留小数位
var a=1.0000;
console.log(a.toFixed(4).toString());
补充:楼主说不能用toFixed(),我觉得其实是做不到的。
你不用toFixed
,用字符串去拼接也同样需要知道1.0000小数点后面有几个0
但如果原变量是一个number
型,后面无意义的零是会被自动省略的。
请测试一下这行代码:
console.log(1.00000===1);//true
所以,如果你不知道小数点后的长度,而原来的值又不是字符串而是number,那么楼主的需求无法实现。
如果你需要保留后边那些可能是无意义的0,你一开始的时候就应该定义为字符串而不是number
。
这问题意义何在?考验如何装逼?
var arr = (1.0000 << 4).toString(2).split("");
arr.splice(1,0,".");
console.log(arr.join(""));
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
toFixed
操作后类型就变成String
了,无需再做转换JavaScript toFixed() 方法
目前来说,个人觉得题主的需求无法实现,因为你的需求是原来这个变量是
number
类型,要转成字符串类型,那么到不了第二步,第一步为number
的时候它后面无意义的0
就被自动省略了,所以你转类型也是转的1
而不是1.0000
不过我会研究一下,尝试看看有没有什么其他途径满足这种需求