来自 ViewModel 的双精度值四舍五入为 javascript 数组中的整数
Doubles from ViewModel get rounded to ints in javascript array
我有这个代码(@Model.TW 是 11,58,@Model.TK 是 27,65)(都是双打):
var parameters = [@Model.TW,@Model.TK];
检查参数 [0] 和 [1] 时,双精度值四舍五入为 11 和 27。这是为什么?
在做
时也会发生同样的情况
var double = [@Model.TW];
或
var double = parseFloat('[@Model.TW]');
即使把@Model.xx的return类型改成字符串也没有区别
作为 JSON 传递给 JavaScript 的浮点值或直接值 必须 有“.”作为小数分隔符。某些文化使用“,”,因此解析 JSON 或 parseFloat
等数字将无法识别小数部分。
修复:使用不变区域性格式化数字或使用现有库(如 Json.Net)生成 JSON。
var parameters = [@(Model.TW.ToString(CultureInfo.InvariantCulture)),
@(Model.TK.ToString(CultureInfo.InvariantCulture))];
JSON 示例可在 - How do I write unencoded Json to my View using Razor?
找到
我有这个代码(@Model.TW 是 11,58,@Model.TK 是 27,65)(都是双打):
var parameters = [@Model.TW,@Model.TK];
检查参数 [0] 和 [1] 时,双精度值四舍五入为 11 和 27。这是为什么?
在做
时也会发生同样的情况var double = [@Model.TW];
或
var double = parseFloat('[@Model.TW]');
即使把@Model.xx的return类型改成字符串也没有区别
作为 JSON 传递给 JavaScript 的浮点值或直接值 必须 有“.”作为小数分隔符。某些文化使用“,”,因此解析 JSON 或 parseFloat
等数字将无法识别小数部分。
修复:使用不变区域性格式化数字或使用现有库(如 Json.Net)生成 JSON。
var parameters = [@(Model.TW.ToString(CultureInfo.InvariantCulture)),
@(Model.TK.ToString(CultureInfo.InvariantCulture))];
JSON 示例可在 - How do I write unencoded Json to my View using Razor?
找到