首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript创建的数字的货币格式

JavaScript创建的数字的货币格式
EN

Stack Overflow用户
提问于 2021-04-04 16:25:51
回答 1查看 73关注 0票数 0

我有一个用JS编写的类似购物车系统的基本页面。

我想将显示的数字格式化为货币,如果可能,使用Intl.NumberFormat根据用户的地区设置使价格可读。

对JS有一个非常基本的了解,我做过各种尝试,但都没有成功,部分代码如下所示:

代码语言:javascript
运行
复制
$('.price').html(set_price.toFixed(2));

我尝试将上面的代码修改为:

代码语言:javascript
运行
复制
$('.price').html(Intl.NumberFormat('de-DE').format(parseFloat(set_price.toFixed(2))));

但它不起作用,因为上面的代码生成的数字用于页面中的其他计算(例如,如果数量发生变化,它会对数字进行加/减,从而导致计算错误)。

总数显示在前端的div中,如下所示:

代码语言:javascript
运行
复制
<div class="price">0</div>

当项目被添加/减去时,它会动态地更新数字。

有没有一种方法可以格式化显示的数字,而不影响它的计算能力?

EN

回答 1

Stack Overflow用户

发布于 2021-04-04 16:34:49

您的问题不清楚,但您是否正在尝试使用格式化后的值进行进一步计算?如果是这样-那么这肯定是一个code smell,应该避免。

一种更好的方法是将实际数字保存在数据模型中(内存中变量的别致名称),并且只在表示中显示格式化的数字(实际呈现的HTML)。这样你就永远不会“阻碍它的计算能力”。

例如:

代码语言:javascript
运行
复制
let myValue = x;
let displayValue = Intl.NumberFormat('de-DE').format(parseFloat(myValue.toFixed(2)))
$('.price').html(displayValue);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66939307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档