我显示“金额”(图片上的miktar)。这是错误的模拟器和这casue一些问题,我在模拟器上工作,但它是真实的物理手机.
模拟器:
物理电话:
var myServiceCall = await serviceManager.getHareketList();
if (myServiceCall != null)
{
foreach (var response in myServiceCall)
{
var myMiktar = Math.Round(Convert.ToDouble(response.MIKTAR), 2);
Console.WriteLine(myMiktar);
if (response.PARTI == null || response.PARTI == "null")
{
response.PARTI = "";
}
BarkodListItem b = new BarkodListItem(response.BARKOD, myMiktar.ToString(), response.SATIRNO, response.STOKKOD, response.sto_isim, response.PARTI, response.LOT, response.GRAF, response.CRAF);
MyBarkodList.Add(b);
OnPropertyChanged();
}
}
var myMiktar = Math.Round(Convert.ToDouble(response.MIKTAR),2);
我使用这个代码块进行转换。
下面的字符串是来自我的服务。手机显示“1”,但模拟器显示100000000。
“MIKTAR”:“1,0000000”
1条答案
按热度按时间hc8w905p1#
根据杰森的评论,作为一个答案:
您需要确保您的手机和模拟器都使用相同的区域设置。在美国地区,逗号是千位分隔符,而大多数欧洲地区将其视为十进制分隔符。
有关locale的更多信息,您也可以参考官方文档:Android本地化。