C# 尝试设置字符串给定参数的格式不可格式化
这是我的密码:C# 尝试设置字符串给定参数的格式不可格式化,c#,string,format,C#,String,Format,这是我的密码: receipt.AmountCharged = String.Format("{0:C}", recordPaymentRequest.Payment); 我在“0:C”收到一条消息,说: 已指定格式,但参数不可格式化 如果我尝试.tostring(“C”)l我会得到: 错误CS1502:与“string.ToString(System.IFormatProvider)”匹配的最佳重载方法具有一些无效参数 错误CS1503:参数1:无法从“字符串”转换为“System.IFor
receipt.AmountCharged = String.Format("{0:C}", recordPaymentRequest.Payment);
我在“0:C”收到一条消息,说:
已指定格式,但参数不可格式化
如果我尝试.tostring(“C”)l
我会得到:
错误CS1502:与“string.ToString(System.IFormatProvider)”匹配的最佳重载方法具有一些无效参数
错误CS1503:参数1:无法从“字符串”转换为“System.IFormatProvider”
如何将其转换为货币或2位小数
这是什么意思
请澄清:
[DataContract]
public class RecordPaymentRequest : TokenRequest {
[DataMember]
public string Payment {
get { return payment; }
set { payment = value; }
}
这有帮助吗?支付属性必须是实现
IFormatable
接口的类型。在这种情况下,可能是十进制
,因为付款似乎是一种货币价值。如果不可能,则需要首先解析字符串值,例如:
receipt.AmountCharged =
String.Format("{0:C}", Decimal.Parse(recordPaymentRequest.Payment));
Payment
属性的类型必须实现IFormatable
接口。在这种情况下,可能是十进制
,因为付款似乎是一种货币价值。如果不可能,则需要首先解析字符串值,例如:
receipt.AmountCharged =
String.Format("{0:C}", Decimal.Parse(recordPaymentRequest.Payment));
什么类型是
recordPaymentRequest.Payment
?所以它已经是一个字符串了。字符串的格式是什么?什么类型是recordPaymentRequest.Payment
?所以它已经是一个字符串了。字符串的格式是什么?