在文本框中写入数字时出现奇怪的结果

本文关键字:结果 数字 文本 | 更新日期: 2023-09-27 18:27:53

Aarghhhhh!!!我刚问过如何只输入数字,现在我遇到了一个问题,当我插入一个带有代码的数字时,比如:

tbNum.Text = Convert.ToString(double.Parse(tbPerc.Text));

该编号是int,而不是double。因此,我得到了类似5623的东西,而不是562,3。如果有帮助的话,我已经将InputScope设置为数字。谢谢

事实上,我在Convert.ToString方法中有一些计算,但这与此无关,因为双精度之间的计算返回值是双精度。

在文本框中写入数字时出现奇怪的结果

如果使用的是设置了Number的InputScope,则使用"."作为小数分隔符,而不是","(键盘上显示的)

因此,我假设您的Windows Phone设备/模拟器假设","符号为千位分隔符(例如,美国默认值),并且如下所示:

double.Parse("562,3") == 5623
double.Parse("562.3") == 562.3

我看不出将字符串转换为双精度字符串的原因,但如果您插入562.3而不是562,3,您的示例将起作用。