C# 我需要将十进制或货币转换为整数

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

我试图用C#将这个数字转换成int,但我做不到

800000.00是原始数字,我需要800000

我用了那条线,但没用

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);