Xamarin 窗体应用编号问题。模拟器显示错误的号码,但物理电话显示真实

Xamarin forms app Number Problem. Emulator shows wrong number but physical phone shows true

提问人:Mert Altiparmak 提问时间:8/21/2023 更新时间:8/24/2023 访问量:62

问:

我显示“金额”(图片上的miktar)。这在模拟器上是错误的,这在模拟器上工作时给我带来了一些问题,但在物理手机上确实如此。

仿真:

enter image description here

实体电话 :enter image description here

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,00000000”

Xamarin Math Xamarin.Forms Android模拟器

评论

1赞 Jason 8/21/2023
您需要确保您的手机和模拟器都使用相同的区域设置。在美国语言环境中,逗号是千位分隔符,而大多数欧洲语言环境将其视为小数点分隔符
0赞 Mert Altiparmak 8/22/2023
杰森,谢谢你的回答。我从设置中检查了我的模拟器区域设置,它的土耳其和我住在土耳其。这看起来是真的。
0赞 Mert Altiparmak 8/31/2023
对不起,但这并不能解决问题。

答:

0赞 Jianwei Sun - MSFT #1

根据 Jason 的评论,作为回答:

您需要确保您的手机和模拟器都使用相同的区域设置。在美国语言环境中,逗号是千位分隔符,而大多数欧洲语言环境将其视为小数点分隔符。

有关语言环境的更多信息,您还可以参考官方文档:Android 本地化