将小数点添加到最后一个字符

4
我正在编写一个从互联网获取一些数据的程序;问题是我得到的对象中有一个键名为 weight 和 height,但它们没有格式化;它们只是整数。例如,如果我得到一个值为 1000 的 weight 键,那么它表示的是 100.0 公斤,而不仅仅是 1000。height 同理,但有时我会得到像 height 键上的 10 这样的值,这意味着它是 0.99 米或 1 米;100 是 10.0 米等等。所以,我的问题是:我应该怎么做才能正确地格式化这些值?如果值没有小数点,则在最后面添加 .0;如果已经有了小数点,则在倒数第二个字符之前添加小数点。我试过一些 if 语句,但它们是硬编码的,看起来很糟糕,而且也没用。
Weight: 1000
Height: 20

Weight: 69
Height: 7

Weight: 432
Height: 12

期望输出:

Weight: 100.0
Height: 2,0

Weight: 6.9
Height: 0.7

Weight: 43.2
Height: 1.2

你能把这些数字除以10吗? - Andrew Morton
将数字转换为字符串。如果字符串的长度大于1,则从字符串中删除最后一个字符,连接一个点,并重新附加最后一个元素。完成。 - RisingSun
@AndrewMorton的解决方案似乎是最简单的。 - RisingSun
@AndrewMorton 哇,有时候这些问题的简单答案会让我糊涂...谢谢;是的,那就是我所需要做的。 - Dotdeb
请勿将其转换为字符串。您需要数字类型。10 应该转换为 1,这相当于 1.0(在 JavaScript 中)。 - trincot
1个回答

4
你可以通过除以 10 并使用 Number#toFixed 来格式化一个数字。

toFixed() 方法使用定点表示法来格式化数字。

var values = [1000, 20, 69, 7, 432, 12];

values = values.map(function (v) {
    return (v / 10).toFixed(1);
});

console.log(values);


@khuderm,但需要。 - Nina Scholz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接