C# 设置类格式的编号
我有一个类,它从数据库获取数据并将其存储为字符串C# 设置类格式的编号,c#,.net,razor,C#,.net,Razor,我有一个类,它从数据库获取数据并将其存储为字符串 sAnswer可以是任何数据类型,通常是int。当它是int时,我尝试将其格式化为使用逗号分隔符。(1000000->1000000)我该怎么做 使用Format像var-val=string.Format(“{0:n0}”,sAnswer)不起作用。将非字符串的值转换为字符串时会发生格式化。不能对已经是字符串的值应用格式设置。您必须暂时将字符串转换回int string val = String.Format("{0:n0}", Int32.P
sAnswer
可以是任何数据类型,通常是int。当它是int时,我尝试将其格式化为使用逗号分隔符。(1000000->1000000)我该怎么做
使用
Format
像var-val=string.Format(“{0:n0}”,sAnswer)代码>不起作用。将非字符串的值转换为字符串时会发生格式化。不能对已经是字符串的值应用格式设置。您必须暂时将字符串
转换回int
string val = String.Format("{0:n0}", Int32.Parse(sAnswer));
您可以影响Int32的方式。Parse
尝试使用numberstyle
常量的按位组合进行转换
string val = String.Format("{0:n0}", Int32.Parse(sAnswer,
NumberStyles.AllowLeadingWhite |
NumberStyles.AllowTrailingWhite|
NumberStyles.AllowExponent));
或者只需使用NumberStyles.Any
enum常量,即可获得最大的灵活性。如果sAnswer
可能包含无效条目(例如空字符串),请执行安全转换
string val;
int i;
if (Int32.TryParse(sAnswer, out i)) {
val = String.Format("{0:N0}", i);
} else {
val = ""; // Assign a default value here
}
将非字符串的值转换为字符串时会发生格式化。不能对已经是字符串的值应用格式设置。您必须暂时将字符串
转换回int
string val = String.Format("{0:n0}", Int32.Parse(sAnswer));
您可以影响Int32的方式。Parse
尝试使用numberstyle
常量的按位组合进行转换
string val = String.Format("{0:n0}", Int32.Parse(sAnswer,
NumberStyles.AllowLeadingWhite |
NumberStyles.AllowTrailingWhite|
NumberStyles.AllowExponent));
或者只需使用NumberStyles.Any
enum常量,即可获得最大的灵活性。如果sAnswer
可能包含无效条目(例如空字符串),请执行安全转换
string val;
int i;
if (Int32.TryParse(sAnswer, out i)) {
val = String.Format("{0:N0}", i);
} else {
val = ""; // Assign a default value here
}
这对你有用吗
int answerInt;
if (int.TryParse(sAnswer, out answerInt))
{
sAnswer = answerInt.ToString("#,0", CultureInfo.InvariantCulture)
}
这对你有用吗
int answerInt;
if (int.TryParse(sAnswer, out answerInt))
{
sAnswer = answerInt.ToString("#,0", CultureInfo.InvariantCulture)
}
“有逗号分隔符”是什么意思?你的意思是,如果它是一个像1000000这样的大数字,它将被格式化为“1000000”?这是正确的,我将在OPS中更改它,你说“有逗号分隔符”是什么意思?你的意思是,如果它是一个像1000000这样的大数字,它将被格式化为“1000000”?这是正确的,我将在操作中更改它。如果你计划用out
参数覆盖它,因为它刚刚被丢弃(设置为0
)如果不解析,则不能将字符串
强制转换为int
。您将得到异常“无法将'string'类型转换为'int'”
@OlivierJacot Descombes谢谢,这将是我最后一次尝试回答问题而不使用IDE,我的记忆就像一条金鱼days@Corak是的,很好。我没有必要投两次。我已经更新了我的答案。干杯bro@kane我收到此错误:输入字符串的格式不正确。
使用该解决方案,如果您计划在丢弃时使用out
参数覆盖它,请不要为answerInt
指定默认值(设置为0
)如果不解析,则不能将字符串
强制转换为int
。您将得到异常“无法将'string'类型转换为'int'”
@OlivierJacot Descombes谢谢,这将是我最后一次尝试回答问题而不使用IDE,我的记忆就像一条金鱼days@Corak是的,很好。我没有必要投两次。我已经更新了我的答案。干杯bro@kane我收到此错误:输入字符串的格式不正确。
使用该解决方案,我收到此错误:输入字符串的格式不正确。
sAnswer中的内容是什么?它必须是一个表示有效的int
的文本。我收到错误:输入字符串的格式不正确。
sAnswer
中有什么?它必须是表示有效的int
的文本。