C++四舍五入问题】的更多相关文章

round 函数是银行用的 采用了 四舍六入5留偶 网上找到了个实现方法   先乘1000,用Trunc取整,除10取余,余数再取整,如果大于5,进位,小于5不进位. 函数就好写了 现在只写一个保留两个小数的例子  用到的可以扩展一下 /// <summary> /// 四舍五入 /// </summary> /// <param name="iValue">值</param> /// <returns>结果四舍五入保留两位小…
引言 今天和测试沟通一个百分比计算方式时遇到一个问题, 我在存储过程里用到了强转CAST(32.678 AS DECIMAL(5,1))  我认为该方式只会保留一位小数,我给测试的回复是我并没有用到四舍五入函数,数据也没有四舍五入,而测试说他们自己验证后觉的数据是经过四舍五入了的. 想到这里于是我再试了试存储过程的每个计算点,才发现了这个问题. ROUND 那么用到四舍五入并且保留小数点时我们肯定会首选ROUND函数,  如果字段的数据类型是decimal(18,10)时那么四舍五入后还会有很多…
decimal保留指定位数小数的时候,.NET自带的方法都是四舍五入的. 项目中遇到分摊金额的情况,最后一条的金额=总金额-已经分摊金额的和. 这样可能导致最后一条分摊的时候是负数,所以自己写了一个保留指定位数小数的方法. 扩展方法的使用,使得调用起来很优雅. public static class DecimalExtension { /// <summary> /// decimal保留指定位数小数 /// </summary> /// <param name="…
每个Number的toFixed()方法可把 Number 四舍五入为指定小数位数的数字.四舍五入顾名思义,4及以下舍去,5及以上加1. 四舍 1.31.toFixed(1) // 1.3 1.32.toFixed(1) // 1.3 1.33.toFixed(1) // 1.3 1.34.toFixed(1) // 1.3 五入 1.35.toFixed(1) // 1.4 1.36.toFixed(1) // 1.4 1.37.toFixed(1) // 1.4 1.38.toFixed(1…
代码 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> &…
在JS中四舍五入的函数 toFixed(n) , n为要保留的小数位数. n为0~20,当n超过20的时候,JS会出错. 如果小数点前和要截取的前一位都是0时,不会按常理截取.       var h=0.07       h.toFixed(1)的值为0.0 其实要解决这个问题,原来是不一定要重写js中的Number类型的toFixed方法的.一个非常牛的同事,想到了一个他说很笨,但是我觉得很牛的方法.JS的API上说, 截取的位数前至少要有一位不是0的.于是,他这个很笨却很牛的方法是:使用t…
向上取整:ceil(x),返回不小于x的最小整数; 向下取整:floor(x),返回不大于x的最大整数; 四舍五入:round(x) 截尾取整函数:trunc(x)  …
举例excel: ROUND 会四舍五入的:ROUNDDOWN 取小数点后两位数据,不管进位问题:ROUNDUP 取小数点后两位数据,只要有第三位小数都会进位的.关键看你取数的要求   在js如果要求roundup可以使用accounting.js库 (0.615).toFixed(2); // "0.61"accounting.toFixed(0.615, 2); // "0.62"…
1. ROUND(该函数,只是负责四舍五入到两位小数,但是不负责截断 只留两位小数,例如下例:) 关于ROUND函数,我们平常理解为4舍5入,如: print ROUND(13.145, 2); 结果为:13.150 2. 使用转换类型,才能达到保留两位小数位的目的: select cast(13.145 as   decimal(10,   2)) 结果为:13.15 2. 拼接%号: concat(cast(13.145 as   decimal(10,   2)),'%');结果为:13.…
经典案例分析:public class RoundTest {    public static void main(String[] args) {        System.err.println("12.5的四舍五入值:"+Math.round(12.5));        System.err.println("-12.5的四舍五入的值:"+Math.round(-12.5));    }} 这是四舍五入的经典案例,从上面结果中发现,这个两个绝对值相同的数…
[四舍五入取整截取] select round(54.56,0) [向下取整截取] SELECT FLOOR(54.56) [向上取整截取]  SELECT   CEILING(13.15) --MSSQL取整函数的使用 --两个整数相除将截断小数部分 select 3/4,4/3,5/3 --结果 0,1,1  --返回大于或等于所给数字表达式的最小整数 SELECT CEILING(123.55), CEILING(123.45),CEILING(-123.45), CEILING(0.0)…
1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3.四舍五入. Math.round(5/2) 4.向下取整 Math.floor(5/2)   Math 对象的方法 方法 描述 abs(x) 返回数的绝对值 acos(x) 返回数的反余弦值 asin(x) 返回数的反正弦值 atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 atan2(y,x) 返回从 x 轴到点 (x,y) 的…
首先问一下round(0.825,2) 返回的结果,大家猜一猜, 首先SQL server 返回的是 0.83 js的返回结果 是0.83,code 如下: var b = 0.825;         alert(Math.round(b * 100) / 100); 其实js中可以 直接用toFixed函数的, var b = 0.825;         alert(b.toFixed(2)); 这样也返回0.83 可是C# 返回的是0.82 这里并不是我们期望的0.83, 为什么了? 其…
  1:计算double值四舍五入的方法 对小数数值进行四舍五入,首先应该确认保留小数位, 如果数值的小数精度大于保留小数位,那么开始四舍五入计算.四舍五入的方法非常简单,在所有要丢失精度的小数位中加5,如果大于10则向前进位,最后计算出四舍五入的结果. /// <summary>计算double值四舍五入的方法 /// /// </summary> /// <param name="dbl">进行四舍五入的数值</param> ///…
[四舍五入取整截取] select round(54.56,0) [向下取整截取] SELECT floor(54.56) [向上取整截取]  SELECT   ceiling(13.15)…
import java.math.BigDecimal; /** * 处理一些数据类型的方法的java类 * @author ljb * */public class NumberTools { /** * 根据给定的参数进行进行四舍五入 * * @param num * 要四舍五入的数字 * @param roundBit * 四舍五入位数 正数表示:小数点后位数:负数表示:小数前位数 * @return 四舍五入后的数字 */ public static double round(doubl…
Java小事非小事!!!!!!!!!!!! 四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么简单了.在讲解之间我们先看如下一个经典的案例: public static void main(String[] args) { System.out.println("12.5的四舍五入值:" + Math.round(12.5)); System.out.println("-12.5的四舍五入值:" + Math.round(-12.…
1.四舍五入 (2.678).toFixed(2) // 2.68 2.不需要四舍五入 (parseInt(2.678*100)/100.0).toFixed(2) // 2.67 3.字节单位转换 function convertByte(bytesNum) { var unit = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB', 'BB', 'NB', 'DB'], count = 0; if (bytesNum <= 0) { r…
原贴地址:http://jiahongguang12.blog.163.com/blog/static/334665720071060551591/ 输入参数12.5445,因此FM从小数点最后一位进位,FM参数 CONV_DEC =2 为精确到第2位小数   , 打印结果:12.55; REPORT  Z_TEST_007. DATA : DAT TYPE P DECIMALS 9  VALUE '12.5445' ,       DAT1 TYPE P DECIMALS 9 . *     …
package com; public class T2 { public static void main(String[] args) { System.out.println(calculateProfit(0)); System.out.println(calculateProfit(0.963)); System.out.println(calculateProfit(0.123456)); System.out.println(calculateProfit(100)); Syste…
还以为出错了,仔细看发现ToString()自动四舍五入 Vector3 forward = Camera.main.transform.forward; Debug.Log("forward:" + forward.x.ToString() + "," +                                    forward.y.ToString() + "," +                                …
Matlab取整函数有: fix, floor, ceil, round.取整函数在编程时有很大用处.一.取整函数1.向零取整(截尾取整)fix-向零取整(Round towards zero):>> fix(3.6)   ans =     32.向负无穷取整(不超过x 的最大整数-高斯取整)floor-向负无穷取整(Round towards minus infinity):>> floor(-3.6)  ans =    -43.向正无穷取整(大于x 的最小整数)ceil-向…
Math.Round函数四舍五入的问题   今天客户跑过来跟我说,我们程序里面计算的价格不对,我检查了一下,发现价格是经过折算后的价格,结果是可能小数位较多,而单据上只能打印两位价格,所以就对价格调用Math.Round(price,2)函数进行四舍五入. 而出现问题的单价就是1.805,函数Math.Round(1.085,2)的返回值却是1.80,按照四舍五入的原则,结果应该是1.81才对. 在一番google之后,发现微软是对了,是我们错了.:( 原来四舍五入也有个国际惯例,叫奇进偶舍,意…
1. 最笨的办法....... [我就怎么干的.........] function get() { var s = 22.127456 + ""; var str = s.substring(0,s.indexOf(".") + 3); alert(str); } 2. 正则表达式效果不错 <script type="text/javascript"> onload = function(){ var a = "23.45…
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>floatDecimal.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta htt…
此小工具类主要用于数值四舍五入.数值格式化输出,很简单,若想深入研究,敬请自行查阅 BigDecimal 或 DecimalFormat 的 API,BigDecimal.setScale(位数,四舍五入法)中四舍五入法有如下 7 种: 1. ROUND_UP:远离零方向舍入.向绝对值最大的方向舍入,只要舍弃位非0即进位. 2. ROUND_DOWN:趋向零方向舍入.向绝对值最小的方向输入,所有的位都要舍弃,不存在进位情况. 3. ROUND_CEILING:向正无穷方向舍入.向正最大方向靠拢.…
import java.math.BigDecimal; public class TestGetInt { public static void main(String[] args) { double i = 2, j = 2.1, k = 2.5, m = 2.9; System.out.println("舍掉小数取整:Math.floor(2)=" + ( System.out.println("舍掉小数取整:Math.floor(2.1)=" + ( Sy…
sql server ==================================================== [四舍五入取整截取] select round(54.56,0) ==================================================== [向下取整截取] SELECT FLOOR(54.56) ==================================================== [向上取整截取] SELECT CE…
import java.math.BigDecimal; import java.text.DecimalFormat; public class TestGetInt{ public static void main(String[] args){    double i=2, j=2.1, k=2.5, m=2.9;    System.out.println("舍掉小数取整:Math.floor(2)=" + (int)Math.floor(i));    System.out.…
MySQL四舍五入的实现   文章主要描述的是MySQL四舍五入的实际应用, 以及在其实际操作中的值得我们大家注意的事项与其实际应用代码的描述,以下就是文章的主要内容的详细描述,望大家在浏览之后会对其有更深的了解. FLOOR(X) 返回不大于X的最大整数值. MySQL> select FLOOR(1.23); -> 1 MySQL> select FLOOR(-1.23); -> -2 注意返回值被变换为一个BIGINT! CEILING(X) 返回不小于X的最小整数值. My…