将带有逗号的数字与javascript相乘

将带有逗号的数字与javascript相乘,javascript,Javascript,我试图乘以一个包含逗号的值(让我们保留这个逗号)。我找不到任何似乎有效的东西,因为我尝试过的所有东西都以NaN的形式返回 var value = 2,55; // value = 44.000,55 also possible var amount = 117; var total = value * amount; alert(total);//returns NaN 这不是2.55;它是2,一个逗号,然后是55。如果我把它放在基于chromium的浏览器的开发工具控制台中,我会得到“

我试图乘以一个包含逗号的值(让我们保留这个逗号)。我找不到任何似乎有效的东西,因为我尝试过的所有东西都以NaN的形式返回

var value  = 2,55;
// value = 44.000,55 also possible
var amount = 117;
var total  = value * amount;

alert(total);//returns NaN
这不是2.55;它是2,一个逗号,然后是55。如果我把它放在基于chromium的浏览器的开发工具控制台中,我会得到“uncaughtSyntaxError:意外数字”

因为它不是有效的语法,所以在
var
表达式中,逗号用于定义多个局部变量

JavaScript数字文本只能使用句点作为十进制分隔符:虽然解析函数(在运行时从字符串转换)可以进行过度国际化,但源代码不能

如果要动态创建代码,则创建代码的代码必须处理创建语法正确的代码:

var value = 2.55; // or 4000.55

假设您试图对货币值进行操作,如果您想保留逗号,最好将值作为字符串获取,并将其转换为float,然后再转换回string:

var value = "2,55";
var amount = 50123123123;
var total = parseFloat(a.replace(',', '')) + b;
total = total.toString().split("").reverse().join("").split('').reduce((a, e, i)=> a + e + (i % 3 === 2 ? ',' : ''), '');

total=total.split("").reverse().join("");

第一行是无效语法<代码>未捕获的语法错误:意外数字不能将逗号保留在此处。如果你有一个带逗号的字符串,首先把它转换成一个
Number
first你期望的输出是什么?那么,数字x的数量哈你必须把它从欧洲格式转换成标准的js。你能告诉我们你是如何得到这个数字的吗?它是用户输入的吗?你是这样声明的吗?也许是来自服务器的呼叫?
var value = "2,55";
var amount = 50123123123;
var total = parseFloat(a.replace(',', '')) + b;
total = total.toString().split("").reverse().join("").split('').reduce((a, e, i)=> a + e + (i % 3 === 2 ? ',' : ''), '');

total=total.split("").reverse().join("");