1

我有这个decimal设置:

[Required(ErrorMessage = "Please tell us your income")]
[Display(Name = "How much do you earn from all the income types you selected above?")]
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal IndivdualIncome { get; set; }

[Serializable]在我的模型上使用。使用 ViewModel 将其引入我的视图。还使用多步骤向导。

当我使用这种类型的输入(用于捕获decimal值)进入一个步骤时,文本框为空,我可以输入“1000”。这是预期的行为。但是,假设我在向导上单击“下一步”并且下一步有一个类似的文本框(同样,它是预期的空白 - 称之为“SpouseIncome”),但是如果我没有输入任何值并且:

  1. 我点击“返回”,然后“IndividualIncome”文本框将显示值为“1000.00”;和
  2. 如果我然后点击“下一步”,“配偶收入”(我留空)现在显示“0.00”。

是我使用的decimal,还是我正在使用的属性?

非常感谢任何有关如何将其显示为空白(无“0.00”)或取出“.00”(如果先前输入了值)的帮助。

4

2 回答 2

1

您可能想要使用"{0:N}"which is number format 或"{0:g}", which is general number format 而不是"{0:c}"您当前使用的货币格式。

或者您可能需要考虑自定义数字格式以非常具体地针对您要查找的内容。像这样的东西{0:0,0},它是千位分隔符,给你 1,500。

更多关于字符串格式和自定义数字格式的信息

希望这可以帮助。

于 2012-08-13T15:20:52.883 回答
0

更改[DisplayFormat(DataFormatString = "{0:c}")][DisplayFormat(DataFormatString = "{0:N0}")]应该工作

于 2012-08-13T14:53:39.933 回答