我尝试在C#中将此数字转换为int
,但不能。
800,000.00 是原始号码,我需要 800000 。
我用了那条线,但是没用。
value = int.Parse(Txt_proyeccion.Text, NumberStyles.Any | NumberStyles.Number);
原始号码在ASP应用程序的文本框中。
谢谢!
答案 0 :(得分:1)
尝试分两个步骤进行操作:
解析为decimal
。
投射到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));
编辑:您可能需要指定 format (例如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));
答案 1 :(得分:0)
为什么地球上的人们会转换为字符串然后再返回一个我不知道的数字。
float cash = 800000.49;
int number = (int)cash;
OR
int number = (int)Math.Floor(cash);
OR
int number = (int) Math.Round(cash);
您明白了。