Javascript-价格和浮动

Javascript-价格和浮动,javascript,floating-point,decimal,currency,decimal-point,Javascript,Floating Point,Decimal,Currency,Decimal Point,我正在对价格执行一系列操作,即十进制数,如999.99 问题是除了在JavaScript中使用浮动之外,我找不到其他方法。 浮动并非完全准确,定价也不够准确 运算包括乘法、加法、减法和除法 通常编程语言都有一个定点十进制库,但在JavaScript中找不到类似的库 帮帮忙太好了 谢谢:)JavaScript只有对象 您可以使用toFixed(x),其中x是小数点后的位数,或者toPrecision(x),其中x是所需的长度。JavaScript仅具有对象 您可以使用toFixed(x),其中x是

我正在对价格
执行一系列操作,即十进制数,如999.99

问题是除了在JavaScript中使用浮动之外,我找不到其他方法。 浮动并非完全准确,定价也不够准确

运算包括乘法、加法、减法和除法

通常编程语言都有一个定点十进制库,但在JavaScript中找不到类似的库

帮帮忙太好了

谢谢:)

JavaScript只有对象

您可以使用
toFixed(x)
,其中x是小数点后的位数,或者
toPrecision(x)
,其中x是所需的长度。

JavaScript仅具有对象


您可以使用
toFixed(x)
,其中x是小数点后的位数,或者
toPrecision(x)
,其中x是所需的长度。

在处理需要精度的价格或其他金融数据时,请始终使用整数,表示希望处理的不太重要的单位数。至少应该是美分(kopecks,或者你选择的货币的1/100的分数)。通常,金融系统使用更少的整数单位以获得更高的精度,例如微秒(例如$1.23=1230000微秒)。这将帮助您避免与IEEE浮点计算相关的许多问题,并确保您的精度正是您想要的。

在处理需要精度的价格或其他财务数据时,始终使用整数,表示您希望处理的不太重要的单位数。至少应该是美分(kopecks,或者你选择的货币的1/100的分数)。通常,金融系统使用更少的整数单位以获得更高的精度,例如微秒(例如$1.23=1230000微秒)。这将帮助您避免与IEEE浮点计算相关的许多问题,并确保您的精度完全符合您的要求。

虽然JS将数字存储为浮点数,但最多53位的整数将准确存储。所以最大精确值是9007199254740992,对于大多数常见用法来说已经足够了。因此,您的最大精确值为9007199254740992,足以满足大多数常见用途。