本文介绍了Math.round不适用于1.44 - > 1.50的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要的是用户输入是1.53意味着输出将来自1.50,如下面的情况



用户输入预期输出

1.20 1.50
1.50 1.50
1.60 2.00







如何实现这个输出



我尝试过:



i有试过数学。圆形Math.Round(10.45,1,MidpointRounding.ToEven)但我无法获得输出







我使用以下方法找到了解决方案



  double  Expected_result1 =  25  51 ; 
value = Expected_result1 - Math.Floor(Expected_result1); // 获得分数
Expected_result1 =(( value > = 0 01 )&&( value < = 0 50 ))? (Math.Floor(Expected_result1)+ 0 5 ):Math.Ceiling(Expected_result1);
解决方案

my need is the user input is 1.53 means the output will come 1.50 like below cases

user input       Expectedoutput

1.20          1.50
1.50          1.50
1.60          2.00




how to achive this output

What I have tried:

i have tried math. round Math.Round(10.45,1,MidpointRounding.ToEven) but i could not achive the output



I have found the solution using below method

double  Expected_result1 = 25.51;
value = Expected_result1 - Math.Floor(Expected_result1);// get fraction
Expected_result1 = ((value >= 0.01) && (value <= 0.50)) ? (Math.Floor(Expected_result1) + 0.5) : Math.Ceiling(Expected_result1);
解决方案


这篇关于Math.round不适用于1.44 - > 1.50的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 09:52