转换数字十进制c#

时间:2016-02-09 14:56:57

标签: c# numbers

我在转换数字方面遇到了问题。

我有:

private decimal amount { get; set; }

当我在文本框中写入值10.15时,转化效果很好,它会将我转换为10,15

但是当我写1035时,它不是10,0035,00,而是它的价值相同1035

我该如何转换它?

谢谢

1 个答案:

答案 0 :(得分:2)

decimal只是一个数字 - 它没有格式。

当你显示(或解析)它时,你指定一个数字的格式 - 如果你只是查看调试器中的值,隐式地转换为字符串(例如设置{ {1}}控件的属性),或在未指定格式的情况下调用.Text,然后您隐式使用系统的默认格式(包括任何文化细节)。对于.ToString,默认格式为decimal(常规),以尽可能紧凑的形式显示数字。因此,如果小数值没有小数部分,则不显示小数位。

如果要在显示字符串时指定特定格式,请使用Gstring.Format

.ToString

或使用您想要的任何custom formatting

请注意,某些UI控件(可能包括您的txtValue.Text = amount.ToString("N2"); )具有"格式"用于指定显示值时使用的格式的属性。在这种情况下,您可以在设计器或代码隐藏中将格式设置为TextBox.UIDecimal