【问题标题】:JavaScript; Round, change dot to comma, and set dot after three digitsJavaScript;四舍五入,将点改为逗号,并在三位数字后设置点
【发布时间】:2017-03-23 22:10:37
【问题描述】:

我有这样的 JavaScript 代码:

var final_value = ($('select[name=somevalue1] option:selected').data('calc')-($('select[name=somevalue1] option:selected').data('calc')/100*$('select[name=somevalue2] option:selected').data('calc'))-($('select[name=somevalue1] option:selected').data('calc')-($('select[name=somevalue1] option:selected').data('calc')/100*$('select[name=somevalue2] option:selected').data('calc')))/100*$('select[name=somevalue3] option:selected').data('calc')).toFixed(2);

这将计算出我将输出的东西。我需要做三件事。

  1. .更改为,123,45 而不是 123.45
  2. 圆形“商务”,逗号后面的数字:123,46 而不是123,45738
  3. 在逗号前三位后设置逗号; 1.234,45而不是1234,45

我对@9​​87654330@ 做的第二件事。我尝试在最后添加replace(",",".") 的第一件事。但是这样做,我没有得到任何输出。

谁能帮帮我?

【问题讨论】:

  • 它真的与你有 7 个长 jQuery 选择器的问题相关吗?您能否将问题简化为字符串操作的本质?

标签: javascript calculator comma


【解决方案1】:

您需要将数字转换为字符串才能执行访问字符串方法,例如replace

var final_value = (42).toFixed(2).replace('.', ','); // excess code truncated

您可能还想验证您的操作顺序。将变量名称分配给这些元素 data 值是明智的。验证方程式的各个部分实际上是数字也是明智的。如果任何一组数据未定义,您最终可能会返回 NaN,这会破坏您的整个表达式。

希望这可以帮助您解决第三个要求。

【讨论】:

  • @David 没问题,通常在提出问题后才会有解决方案。
猜你喜欢
  • 1970-01-01
  • 2016-08-14
  • 2022-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-12
相关资源
最近更新 更多