我有一个小数,可能看起来像123,34
,123123,09
,1234
,123.34
,123123.09
。
我的MVC应用程序支持本地化,我需要找到一种安全的方法将最可能的用户输入转换为小数。因此对于十进制值.
将表示为,
(例如12.34 => 12,34)
我想在javascript中获取此值
var maxAmount = parseFloat("@Model.MaxAmount");
如果MaxAmount为1,25
,我的结果仅为1
。
这怎么可能?
答案 0 :(得分:1)
为什么不使用MaxAmount.ToString(CultureInfo.InvariantCulture)指定model属性的格式 - 这样十进制将始终序列化为1.25,并且仍然可以被JavaScript正确解释。
答案 1 :(得分:0)
只需替换xxx,xx
的边缘情况:
var maxAmount = parseFloat('@Model.MaxAmount'.replace(',', '.'));
这会将"123,45"
类型的字符串转换为"123.45"
,但保持"123.45"
的格式相同。