1

我知道这是相当低质量的问题,但我现在有点困惑。这是我想做的事情。

100000 => 100.000
9997080000 => 9997080.000 

我想从小数点后三位不四舍五入。我怎样才能做到这一点?我使用了,toFixed()但我想做的只是从小数点后三位开始。我想我现在很复杂。这会很简单。请让我知道。谢谢

4

5 回答 5

1

据我了解,这就是你想要的:

var number = "9002764000";
var result = number.slice(0, -3) +"."+ number.slice(-3);
console.log(result);

这将.在最后三位数字之后添加一个9002764000->9002764.000

https://jsfiddle.net/5yqhr7mo/

希望能帮助到你!

于 2018-01-12T08:08:56.993 回答
1

听起来你想要一个display的值。如果是这样,您希望将数字转换为字符串(因为数字本质上在小数点右侧没有任何特定的数字)。然后,您可以使用and轻松插入.最后三位数字之前:substringsubstr

function formatForDisplay(num) {
  var str = String(num);
  return str.substring(0, str.length - 3) + "." + str.substr(-3);
}

function test(num) {
  console.log(num, "=>", formatForDisplay(num));
}

test(100000);
test(9997080000);

于 2018-01-12T08:09:10.797 回答
1

或者,您可以使用String#replace并添加一个点。

var number = 9002764000;

console.log(Math.floor(number).toString().replace(/(?=...$)/, '.'));

于 2018-01-12T08:23:54.070 回答
0

关于什么 :

function formatNumber(num){
	num=num/1000;
	return num.toFixed(3);
}
console.log(formatNumber(9997080000));
console.log(formatNumber(100000000));

如果您使用整数,它将返回您所期望的

于 2018-01-12T15:32:59.050 回答
-1

Math.floor()将四舍五入基本上切断小数点右侧的所有内容。

于 2018-01-12T08:06:19.087 回答