当前位置: 首页 > 面试题库 >

如何在JavaScript中舍入数字?.toFixed()返回字符串?

龚玄天
2023-03-14
问题内容

我在这里想念什么吗?

var someNumber = 123.456;
someNumber = someNumber.toFixed(2);
alert(typeof(someNumber));
//alerts string

为什么.toFixed()返回一个字符串?

我想将数字四舍五入为2个十进制数字。


问题答案:

它之所以返回一个字符串,是因为在二进制浮点系统中,0.1及其幂(用于显示十进制小数)不能表示(至少不能完全准确)。

例如,0.1确实是0.1000000000000000055511151231257827021181583404541015625,而0.01确实是0.01000000000000000020816681711721685132943093776702880859375。(感谢您BigDecimal证明我的观点。:-P)

因此(缺少十进制浮点数或有理数类型),将其作为字符串输出是将其修整到精确显示所需精度的唯一方法。



 类似资料:
  • 问题内容: 我想使用Javascript舍入一个数字。由于数字是货币,因此我希望像以下示例一样将其舍入(小数点后两位): 192.168 => 192.20 192.11 => 192.20 192.21 => 192.30 192.26 => 192.30 192.20 => 192.20 如何使用Javascript实现呢?内置的Javascript函数将根据标准逻辑对数字进行四舍五入(四舍五

  • 本文向大家介绍Javascript中 toFixed四舍六入方法,包括了Javascript中 toFixed四舍六入方法的使用技巧和注意事项,需要的朋友参考一下 javascript中toFixed使用的是银行家舍入规则。 银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。 简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进

  • 我知道javascript中的toFixed()方法将数字转换为字符串,保留指定的小数位数,就像下面显示的代码一样,它将小数点后的位数设置为2。 我的问题是:这个数字是否在必要时四舍五入。在下面的代码中,我将转换数字:0.075。我认为0.075四舍五入应该是0.08,因为“5上升”。然而,在下面的第一个案例中,它看起来很奇怪。所以我很困惑。 我知道这个问题可以用Math.js解决。然而,我只是想

  • 问题内容: 如何从WebAssembly函数返回JavaScript字符串? 下列模块可以用C(++)编写吗? 另外:我可以将其传递给JS引擎进行垃圾回收吗? 问题答案: WebAssembly本身不支持字符串类型,它,而支撑件///值类型以及/用于存储。 这取决于您要执行的操作,但似乎直接访问缓冲区是最简单的: 如果您的模块具有功能,那么它将在实例化时执行。否则,您可能会调用一个导出,例如。 完

  • 问题内容: 我有一个在某些情况下会返回字符串的函数,即当程序在Linux或MacOS上运行时,否则返回值应为nil,以便在代码中进一步省略一些特定于OS的检查。 但是,当我尝试编译此代码时,出现错误: test.go:10:3​​:不能在返回参数中使用nil作为类型字符串。 如果我只返回一个空字符串(如),则无法将此返回值与代码中的进一步内容进行比较。 那么问题是如何返回正确的nil字符串值? 谢

  • 最近,我一直在尝试构建一个程序,它可以完成4件事: 1) 从键盘输入一个单词。 2)用包含字母表字母的字符串的上下文检查这个单词的上下文。 3)将给定单词的字母与字母表字符串的字母进行比较,只要匹配,它将返回该字母在字母表字符串中的位置1。(例如。word='a'位置=1,因为'a'是第一个字母) 4) 获取所有这些位置的总和。(例如word='abc'总计=6) 现在让我向您展示我用代码编写的内