Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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# 获取小数点(.NET)的最后3位(即endswith)_C#_.net - Fatal编程技术网

C# 获取小数点(.NET)的最后3位(即endswith)

C# 获取小数点(.NET)的最后3位(即endswith),c#,.net,C#,.net,我可能用数学作恶。。。但是,在一个写为0.7000123的数字中 我需要得到“123”-也就是说,我需要提取数字小数部分的最后3位数字。最不重要的数字,当前几个数字是大多数人所需要的 示例: 0.7500123 -> 123 0.5150111 -> 111 它总是从数字5开始。是的,我将秘密信息存储在这个数字中,在小数部分,它不会影响数字的使用,这是潜在的邪恶部分。但这仍然是解决我遇到的某个问题的最好办法 我想知道数学或字符串操作是否是最不可靠的方法 性能根本不是问题,因为我

我可能用数学作恶。。。但是,在一个写为0.7000123的数字中 我需要得到“123”-也就是说,我需要提取数字小数部分的最后3位数字。最不重要的数字,当前几个数字是大多数人所需要的

示例:

0.7500123 -> 123  
0.5150111 -> 111
它总是从数字5开始。是的,我将秘密信息存储在这个数字中,在小数部分,它不会影响数字的使用,这是潜在的邪恶部分。但这仍然是解决我遇到的某个问题的最好办法

我想知道数学或字符串操作是否是最不可靠的方法

性能根本不是问题,因为我只说了一次


有人能想出一个简单的数学方法吗?例如.NET中的数学函数组合(我错过了)

使用模将得到最后3位数字:

var d = 0.7000123m;
d = d * 10000000 % 1000;

d现在将保留值123。

这是一个奇怪的请求。但获取最后3位整数的一种方法如下:

int x = (int)((yourNumber * 10000000) % 1000);

我想有一种更好的方法可以更清晰地获取您要查找的信息,但是根据您的要求,这种方法应该会起作用。

首先将您的数字转换为字符串

string s = num.ToString();


string s1 =  s.Substring(s.Length - 3, 3);
现在s1包含数字的最后3位

请尝试以下操作:

    string value= "0.1234567";
    string lastthreedigit= value.Substring(value.Length - 3);

我会将十进制数转换为字符串并使用substring函数。你是如何储存这个号码的?你可能会遇到四舍五入的问题。保罗,这是小数点,不是双精度。那不是小数点。“这是一个双倍的数字。”StefanSteinegger当然——但OPs的示例数字似乎暗示着低于1.0的值。如果OP使用较大的数字,则需要考虑溢出。这是真的,我没有提到,但数字将始终是