C# 如何将小数后的数字添加到数字中
我想取一个带小数点的数字,然后将该点后的数字加到整数上 例如: 投入:1.88 产出:188 不专门处理2个十进制数C# 如何将小数后的数字添加到数字中,c#,math,C#,Math,我想取一个带小数点的数字,然后将该点后的数字加到整数上 例如: 投入:1.88 产出:188 不专门处理2个十进制数 谢谢。根据kosist的建议: double input = 1.88; var inputAsString = input.ToString(CultureInfo.InvariantCulture); var output = inputAsString.Replace(".", ""); //Optional: var outputA
谢谢。根据kosist的建议:
double input = 1.88;
var inputAsString = input.ToString(CultureInfo.InvariantCulture);
var output = inputAsString.Replace(".", "");
//Optional:
var outputAsInt = int.Parse(output);
正如科西斯特所建议的那样:
double input = 1.88;
var inputAsString = input.ToString(CultureInfo.InvariantCulture);
var output = inputAsString.Replace(".", "");
//Optional:
var outputAsInt = int.Parse(output);
将数字转换为字符串,去掉小数点分隔符,再转换回整数。var值=1.88m如何;while value-longvalue!=0{value*=10;}返回longvalue;?根据您想这样做的原因,简单地乘以100可能是最简单的解决方案。否则,它可能会因为浮点精度或缺少浮点精度而变得模糊。@john-假设OP使用十进制,就不应该有浮点精度问题。。。但是你是对的,它没有明确说明。@kosist-这可能是最简单的方法,但是应该明确指定确切的区域性,这样依赖于区域性的十进制分隔符就不会有问题了。还要注意数千个分隔符…将数字转换为字符串,从中删除十进制分隔符,然后再转换回整数;while value-longvalue!=0{value*=10;}返回longvalue;?根据您想这样做的原因,简单地乘以100可能是最简单的解决方案。否则,它可能会因为浮点精度或缺少浮点精度而变得模糊。@john-假设OP使用十进制,就不应该有浮点精度问题。。。但是你是对的,它没有明确说明。@kosist-这可能是最简单的方法,但是应该明确指定确切的区域性,这样依赖于区域性的十进制分隔符就不会有问题了。同时还要注意数千个分隔符……我认为必须对范围进行一些验证,因为仅通过删除“.”将double转换为int肯定会导致int溢出。在许多常见情况下,如果溢出是一个问题,那么您可以尝试将double解析为double,以获得更多的净空。不过,这取决于您的用例。我认为必须对范围进行一些验证,即仅通过删除“.”将double转换为int肯定会导致int溢出。在许多常见情况下,如果溢出是一个问题,那么您可以尝试将double解析为double,以获得更多的净空。但这取决于您的用例。