Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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# - Fatal编程技术网

C# 如何获取小数点后的值?

C# 如何获取小数点后的值?,c#,C#,示例->4.11 我需要得到11,它是小数点后的值 如何在C#中获得该值?从值的math.int中减去值如果您的意思是将小数点后的数字(如果存在)作为原始字符串,只需使用字符串操作: double myNumber = 4.0001115; string myString = myNumber.ToString(); string decimalSeparator = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;

示例->4.11 我需要得到11,它是小数点后的值


如何在C#中获得该值?

从值的math.int中减去值

如果您的意思是将小数点后的数字(如果存在)作为原始字符串,只需使用字符串操作:

double myNumber = 4.0001115;
string myString = myNumber.ToString();
string decimalSeparator = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
int index = myString.IndexOf(decimalSeparator);
string afterDecimal = (index >= 0 && !myString.EndsWith(decimalSeparator)) ? myString.Substring(index + decimalSeparator.Length) : "";

否则,如果你的意思是通过它自己的权利得到它作为数字,这里的其他答案是正确的。

它是旧的,但是为什么不把它的值放在一个int中,这样它就短到一个没有小数的数字

然后用整数减去这个值,就像这样-->


使用这个简单的方法来保留尾数的前导零:

double number = -1234.056789;
string mantissa = string.Empty;
decimal fraction = (decimal)number % 1;
if (fraction != 0)
{
    mantissa = Math.Abs(fraction).ToString().Substring(2);
}
Console.WriteLine(mantissa);
Console.ReadKey();

Result: 056789

输入的数据类型是什么?一般规则是什么?例如,如果输入是4.011,会怎样?为什么要这样?如果理解了需求,可能会有更好的方法。这对我不起作用,因为我的文章是
myNumber。ToString()
将是
40001115
@Tim good point,编辑我的文章以支持不同的格式。:)但是结果应该是11。我没有注意到。但是你可以简单地取0.11*100,然后把它写在一个int值中,以去掉小数点后的所有其他值。是的,但是你忽略了一个微妙的细节,结果应该是11,而不是0.11。
double number = -1234.056789;
string mantissa = string.Empty;
decimal fraction = (decimal)number % 1;
if (fraction != 0)
{
    mantissa = Math.Abs(fraction).ToString().Substring(2);
}
Console.WriteLine(mantissa);
Console.ReadKey();

Result: 056789