2017-03-23 71 views
0

我的JavaScript代码: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

第二件事我做了toFixed(2)。首先我试着在最后加入replace(",",".")。但是这样做,我没有获得任何产出。

谁能帮帮我?

+0

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

回答

1

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

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

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

希望这可以帮助你继续你的第三个要求。

+0

我自己找到答案,但谢谢。 – David

+0

@大卫没问题,解决方案通常在提出问题后才会出现。 –