Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置类格式的编号_C#_.net_Razor - Fatal编程技术网

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
的文本。