C# 我需要将十进制或货币转换为整数
我试图用C#将这个数字转换成int,但我做不到 800000.00是原始数字,我需要800000 我用了那条线,但没用C# 我需要将十进制或货币转换为整数,c#,asp.net,type-conversion,int,currency,C#,Asp.net,Type Conversion,Int,Currency,我试图用C#将这个数字转换成int,但我做不到 800000.00是原始数字,我需要800000 我用了那条线,但没用 value = int.Parse(Txt_proyeccion.Text, NumberStyles.Any | NumberStyles.Number); 该原始编号位于asp应用程序的文本框中 谢谢 试着分两步进行: 解析为十进制 强制转换为int(截断或舍入) 比如说 // truncate: 80.97 -> 80 int value = (int) deci
value = int.Parse(Txt_proyeccion.Text, NumberStyles.Any | NumberStyles.Number);
该原始编号位于asp应用程序的文本框中
谢谢 试着分两步进行:
int
(截断或舍入)// truncate: 80.97 -> 80
int value = (int) decimal.Parse(Txt_proyeccion.Text, NumberStyles.Any);
// round: 80.97 -> 81
int value = (int) Math.Round(decimal.Parse(Txt_proyeccion.Text, NumberStyles.Any));
编辑:您可能需要指定格式(例如CultureInfo.InvariantCulture
),以确保
是十进制分隔符,而,
是千位分隔符:
using System.Globalization;
...
// truncate: 80.97 -> 80
int value = (int) decimal.Parse(
Txt_proyeccion.Text,
NumberStyles.Any,
CulureInfo.InvariantCulture);
// round: 80.97 -> 81
int value = (int) Math.Round(decimal.Parse(
Txt_proyeccion.Text,
NumberStyles.Any,
CulureInfo.InvariantCulture));
我不知道为什么人们会转换成字符串,然后再转换成数字
float cash = 800000.49;
int number = (int)cash;
或
或
你明白了。
int.Parse(“800000.00”,NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands)
value=(int)decimal.Parse(Txt_proyeccion.Text,NumberStyles.Any | NumberStyles.Number)代码>嗨,Dmitry,它不工作。Vs说“'System.FormatException'inmscorlib.dll”@Rafael Mauricio Villalta Varga:出了什么问题?当数字试图转换时,.net显示来自库和stopped@Rafael毛里西奥·维拉尔塔·瓦尔加:这是什么意思?尝试指定CulureInfo.InvariantCulture
-请参阅我的编辑-确保分隔符是
和,
@Rafael Mauricio Villalta Varga:使用System.Globalization代码>
int number = (int)Math.Floor(cash);
int number = (int) Math.Round(cash);