使用Javascript格式化逗号和小数位的数字[重复]

     2023-02-22     174

关键词:

【中文标题】使用Javascript格式化逗号和小数位的数字[重复]【英文标题】:Formatting numbers for commas and decimal places with Javascript [duplicate] 【发布时间】:2015-07-18 10:45:25 【问题描述】:

我正在尝试使用 javascript 创建一个函数,该函数显示所有带两位小数的数字,并每三位添加逗号(1,000 10,000 100,000 等)。

一开始我是这样的:

var formatNumber = function(num) 
    return parseFloat((num).toFixed(2)).toLocaleString();
;

这很有效,但有一个例外。

1.2 != 1.20 在最终输出中。它只是显示为 1.2

但其他一切都很好。 124.5879697 = 124.59、10000 = 10,000 和 10586.357 = 10,586.36

问题是最终输出将显示为货币,因此将 10000 显示为 $10,000 就可以了。但是将 1.2 显示为 $1.2 看起来有点不对劲。

为了解决这个问题,我尝试添加以下修改:

var formatNumber = function(num) 
   return parseFloat((Math.round(num*100)/100)).toFixed(2).toLocaleString();
;

这会将所有内容精确到小数点后两位,这很好,但它似乎已停用 toLocaleString,因为现在没有显示逗号。

我希望使用纯 Javascript 而不是 jQuery。关于这个主题似乎有很多关于一个或另一个问题的js问题,但没有将两者结合起来。

谢谢。

【问题讨论】:

你能测试看看小数点后有多少个数字,如果只有一个,在它的末尾加一个 0 吗? 如果小数点后有单个数字,请尝试使用此正则表达式附加 0:parseFloat((num).toFixed(2)).toLocaleString().replace(/\.([0-9])$/, ".$10") 【参考方案1】:

这似乎有效

var formatNumber = function(num) 
    return parseFloat(num).toFixed(2).toLocaleString();
;

【讨论】:

这不适用于整数。看到这个fiddle @KenGregory 不想成为死灵法师,但您将toFixed() 放在了parseFloat() 中,这就是您失败的原因。如果你把它移到外面,它工作得很好,你也可以取消replace。 Forked fiddle. @DanAtkinson 谢谢!我逾期向 Katya Pavlenko 道歉 - 我错了。

添加逗号,小数到数字输出javascript

】添加逗号,小数到数字输出javascript【英文标题】:Addingcommas,decimaltonumberoutputjavascript【发布时间】:2011-08-1717:58:29【问题描述】:我正在使用以下代码从起始数字开始计数。我需要的是在适当的位置(千位)插入逗号,并在最... 查看详情

带逗号和两位小数的数值格式

...points【发布时间】:2018-09-0223:30:29【问题描述】:我正在使用chart.js来显示我的销售额,问题是我无法将数据正确转换为带有逗号和两位小数的数字格式。当数据为整数时,输出正确。但是,当我显示平均销售额时,我得到的输... 查看详情

带逗号的 Oracle 格式数字删除尾随零小数

...:3132000.00->3,132,0004321.10->4,321.1132.01->132.01我一直在使用TO 查看详情

小数的 SQL 格式,用逗号表示小数,仅用于数字

】小数的SQL格式,用逗号表示小数,仅用于数字【英文标题】:SQLformatfordecimalwithcommatoindicatedecimals,onlytodigit【发布时间】:2018-05-1407:34:19【问题描述】:如何将十进制值转换为逗号?数字不带逗号来分隔1000,并且有逗号来表示... 查看详情

用 2 位小数格式化逗号 PYTHON

】用2位小数格式化逗号PYTHON【英文标题】:Formattingcommaswith2decimalsPYTHON【发布时间】:2021-05-0116:51:01【问题描述】:我正在尝试格式化一个数字,使其末尾有逗号和两个小数点,例如:100,000.00这是我尝试过的,但它不起作用,... 查看详情

使用数字和千位分隔符修复格式错误的字符串

...有了一个很好的、管道分隔的数字系列,没有逗号,2个小数位。我尝试了标准替换,删除了 查看详情

计算中的小数点为。要么,(代码片段)

...berFormatter,因为这可以设置为处理不同的语言环境。创建格式化程序:NSNumberFormatter*numberFormatter=[[NSNumberFormatteralloc]init];[numberFormattersetLocale:[NSLocalecurrentLocale]];用它:NSNumber*number=[numberFormatternumberFromString:string];//stringisthetextfield 查看详情

如何将数字格式化为一定数量的小数位加逗号分隔符?

】如何将数字格式化为一定数量的小数位加逗号分隔符?【英文标题】:HowtoformatNumbertocertainnumberofDecimalPlacespluscommaseparators?【发布时间】:2014-09-3019:24:40【问题描述】:这与我之前的问题有关,可以在以下位置找到:Mathequationre... 查看详情

在 Python 2 中使用逗号分隔符格式化数字并舍入到小数点后 2 位?

】在Python2中使用逗号分隔符格式化数字并舍入到小数点后2位?【英文标题】:Formatanumberwithcommaseparatorsandroundto2decimalplacesinPython2?【发布时间】:2016-04-1414:21:16【问题描述】:我确定这一定是重复的,但我找不到关于SO的明确答... 查看详情

SAS 用逗号和小数对齐列

】SAS用逗号和小数对齐列【英文标题】:SASalligncolumnbycommaanddecimal【发布时间】:2022-01-2116:54:09【问题描述】:我在将列与\'min,max\'和\'q1,q3\'对齐时遇到问题。我有预先确定的数字格式,我无法更改它。五位数字和四位数字会导... 查看详情

用逗号格式化数字PHP [重复]

】用逗号格式化数字PHP[重复]【英文标题】:FormattingnumberswithcommasPHP[duplicate]【发布时间】:2015-12-1009:36:59【问题描述】:我如何正确地用逗号格式化数字。示例我希望10000变成10,000我知道我可以使用下面的代码来做到这一点number... 查看详情

用正确的小数位格式化数字

】用正确的小数位格式化数字【英文标题】:Formattinganumberwithcorrectdecimalscale【发布时间】:2012-08-0805:58:49【问题描述】:我需要格式化一个小数点后2位的数字。原始数字可以是整数,也可以是小数点后三位的数字。然而,无论... 查看详情

在javascript中用逗号格式化数字变量的最佳方法是啥

】在javascript中用逗号格式化数字变量的最佳方法是啥【英文标题】:Whatisthebestwaytoformatnumbervariableswithcommasinjavascript在javascript中用逗号格式化数字变量的最佳方法是什么【发布时间】:2011-10-1115:19:09【问题描述】:我遇到了格式... 查看详情

在 Javascript 中为数字添加逗号

】在Javascript中为数字添加逗号【英文标题】:AddcommastonumbersinJavascript【发布时间】:2018-04-1518:28:23【问题描述】:我正在为我的班级编写一个程序,我们还没有真正了解如何用逗号格式化数字,我做了一些研究并尝试使用toLocale... 查看详情

如何使用 JavaScript 进行数字格式化?

】如何使用JavaScript进行数字格式化?【英文标题】:HowdoIuseJavaScriptfornumberformatting?【发布时间】:2009-04-3004:29:23【问题描述】:我想使用JavaScript将文本框中的输入限制为货币数字格式。例如:<inputtype="text"value="2,500.00"name="rate... 查看详情

javascript每3个小数位用逗号分隔格式编号(代码片段)

查看详情

如何在 Python Pandas 中使用逗号作为小数分隔符的浮点格式?

】如何在PythonPandas中使用逗号作为小数分隔符的浮点格式?【英文标题】:HowtohavefloatformatwithcommaasadecimalseparatorinPythonPandas?【发布时间】:2019-12-0216:45:16【问题描述】:我有一个csv,其中包含货币数字的字符串值,例如“R$2,444.9... 查看详情

允许数字中的点和逗号,而不仅仅是小数

...:01:49【问题描述】:我遇到了本地化问题。在巴西,我们使用逗号作为小数分隔符,而不是点。例如:500,00120,210,0001我根据这个答案找到了这个问题的解决方案:MVC3jQueryValidation/globalizingofnumber/deci 查看详情