https://jsfiddle.net/2pvt4dwm/
如何才能在小数为 0 时显示.0 ,其他情况显示正常小数。
1
oglop 2016-07-07 02:23:06 +08:00
float_number.toFixed(1)
|
3
egen 2016-07-07 07:01:46 +08:00 via iPhone
.toFixed(0) === float_number ? :
|
4
ETiV 2016-07-07 07:17:09 +08:00
|
5
shyling 2016-07-07 07:53:02 +08:00 via Android
判断一下咯 2.13 - (2.13|0) == 0 ,然后截取
|
6
oglop 2016-07-07 08:02:12 +08:00
float_number.toFixed( float_number.toString().split('.')[1].length) )
|
7
66beta 2016-07-07 08:04:34 +08:00
目前能想到的就是转成字符串 +''
正则匹配几个 0 ,有几个去掉几个 toFixed(*) 返回数字 |
8
Cabana 2016-07-07 08:04:37 +08:00 via Android
int(str(float_num).split('.')[1]) == 0?int(str(float_num).split('.')[0]):float_num
|
9
xqin 2016-07-07 08:42:17 +08:00
@oglop 依然是错的.
首先这是一个数字, 然后在赋值的时候, 虽然写的是 2.0 但这个变量的值是 2 没有 .0 所以你 toString().split('.')[1] 得到的是 undefined, 然后在 undefined 的基础上取 length 是会报错的. ``` float_number = 2.0 float_number.toFixed( float_number.toString().split('.')[1].length)//Cannot read property 'length' of undefined ``` 另外你发的代码中多了一个 右括号. https://jsfiddle.net/vb5wvgs8/1/ |
10
Yokira 2016-07-07 09:08:11 +08:00
var num = 3;
num = num == num.toFixed() ? `${num}.0` : num; |
11
just4test 2016-07-07 09:33:05 +08:00 1
return num == int(num) ? num.toFixed(1) : num
|
12
lbfeng OP @just4test
function int(n) { return parseInt(n) === n }; var float_number = 2.18; $('#display').html(int(float_number) ? float_number.toFixed(1) : float_number); |
13
eecjimmy 2016-07-07 12:04:57 +08:00
result = subject.replace(/\.0*$/mg, "");
|
14
oglop 2016-07-07 12:09:52 +08:00
帮你问了下万能的 stackoverflow, http://stackoverflow.com/questions/38235843/javascript-how-to-convert-float-2-0-to-string-2-0
|
16
eecjimmy 2016-07-07 12:12:11 +08:00
需求没看清楚: result = subject.replace(/\.0{2,}$/mg, ".0");
|