我正在与MaskedTextBox斗争。我的面具看起来像这样:
R ######.00
输入南非货币。一切都还好。我将金额保存到十进制字段,并使用十进制值和全部正确完成。问题是当我尝试重新显示MaskedTextBox中的十进制字段时。我可以使用小数值完整显示的唯一方法是使用:
edtBayCost.Text = allParkingBayRegistrationData(currentDisplayRecord).bayCost.ToString("000000.00");
然后在框中显示例如。 R 001234.56
我尝试用ToString("000000.00")
替换ToString("######.00")
,但忽略了小数值,显示为R 123456.00。
我错过了一些重要的事情吗?
答案 0 :(得分:-1)
尝试使用ToString()方法的货币格式说明符:
edtBayCost.Text = allParkingBayRegistrationData(currentDisplayRecord).bayCost.ToString("C2");
https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx#CFormatString
编辑:
您也可以将货币格式说明符与文化代码一起使用。这应该为您尝试使用的货币提供适当的格式:
edtBayCost.Text = allParkingBayRegistrationData(currentDisplayRecord).bayCost.ToString("C3",
CultureInfo.CreateSpecificCulture("en-ZA"));
您可以使用此表格作为文化代码的参考:https://msdn.microsoft.com/en-US/library/Ee825488(v=CS.20).aspx