我想在两个文本框中显示计算的净额
如果netamount = 45.60
第一个文本框应显示舍入值和 下一个文本框应该显示舍入的内容。
我之前用c手动程序进行四舍五入,现在我的经理不希望我这样做,因为他认为c#在构建函数中具有所有数学。所以请帮助我的朋友....
我想获得的价值 四舍五入后不是数字
编辑:(按drachenstern)
我想用10个精度(如45.8456789990)对数字进行舍入,得到一个文本框中的46个结果,另一个文本框中的结果为85个。
提问者有一个像double pi = 3.14159265d;
这样的数字,并希望事后得到两个消息框: [整数] 3
和 [2十进制地方] 14
,他想知道如何最好地实现这种影响。他只知道他会得到一个双倍,但他不知道这个数字是否会有小数值。他希望他们。 希望此编辑有所帮助。
答案 0 :(得分:4)
Math.Round? http://msdn.microsoft.com/en-us/library/75ks3aby.aspx
在@drachenstern澄清之后:
Math.Round(value, 2)
答案 1 :(得分:2)
这可以简单地通过第一次舍入,然后减去并乘以100(如果你不是前两位小数)来完成,然后再次舍入,如下所示:
double pi = 3.14159265d;
int integerParth = (int)Math.Round(pi); // 3(int)
double decimalPoint = pi - integerPart; // 0.1415...(double)
int decimalPart = (int)Math.Round(decimalPoint * 100); // 14
答案 2 :(得分:1)
c#中的数学函数无法给出您的期望值
我尝试使用所有数学函数输入45.60,这些函数用于舍入值
这是输出:
Truncate 45
Round 46
Ceiling 46
Floor 45
我认为除了这些之外的其他一些功能应该用于在文本框中获得类似.60的结果
答案 3 :(得分:1)
为了简单起见,我建议你将它分为三部分:
int wholeNumber; //for getting the left part of the number
int decimalPartTwoPlaces; //for assigning the right part to two characters
double pi = 3.14159265d;
wholeNumber = Math.Round(pi);
decimalPartTwoPlaces = Math.Round( ( pi - (double)wholeNumber ) * 100 ); // cast so it doesn't try and truncate the pi part
这应该具有您想要的值。我没有测试过,但看起来不错。如果它不起作用,请告诉我,我会在我的盒子上运行并调试它。