我需要把十进制或货币转换成整数



我试图在C#中将这个数字转换为int,但我做不到。

800000.00是原始数字,我需要80万

我用了那句话,但没用。

value = int.Parse(Txt_proyeccion.Text, NumberStyles.Any | NumberStyles.Number);

原始号码在asp应用程序的文本框中。

谢谢!

试着用两个步骤来完成:

  1. 解析为decimal

  2. 强制转换为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 number = (int)Math.Floor(cash);

int number = (int) Math.Round(cash);

你明白了。

最新更新