我正在使用xamarin制作iOS应用。我正在使用小数值和&一切都在iPhone上运行良好。但是当我在iPad上测试应用程序时,1(不是全部)十进制值会被误解。
例如,有一个字符串值:1200.00。 我正在解析这个值:
if (Decimal.TryParse (vehicle.offer_price, out result)) {
但是我回来了:iPad上的120000&在iPhone上1200.00? 这有什么用?
亲切的问候
答案 0 :(得分:1)
每台设备上的区域设置不同。
一个设备设置为区域格式,其中点是千位分隔符,另一个设备是小数点分隔符。
答案 1 :(得分:0)
我认为你可能会混淆Decimal的内部实现与它的呈现方式。浮点类型(十进制,双等)实现为二进制数据结构,可以以多种不同的格式(取决于它们的显示位置)呈现给我们,这可能包括也可能不包括小数点后的有效数字点。通常在UI中,程序员决定使用什么显示格式(例如,小数点后的位数)。
将此与调试器进行比较 - 此处显示格式已由IDE的实现者选择,其可能包含或不包含小数点后的数字(但如果它们未显示任何数字则会有点奇怪)。
重要的是,无论显示格式如何,这都不会改变Decimal中的实际基础值。