double类型计算
下面两个例子体现两个运算规则
一.四舍五入
//四舍五入
double doublenum = Math.Round(12.5, MidpointRounding.AwayFromZero); //两个整数转为百分数
int fullnum = , allnum = ;
double percent =(float) fullnum / allnum;
//double percent = fullnum * 1.0 / allnum;
string jobstatus = percent.ToString("P1");//P0,P1,P...保留几位小数
Response.Write("doublenum=" + doublenum + ",percent=" + percent + ",jobstatus=" + jobstatus);
输出结果:doublenum=13,percent=6.66666666666667,jobstatus=666.7%
两个整型取百分数,需要将整型转为浮点型。
二.四舍六入五取偶
据说,在delphi里,会有
var
i, j: Integer;
begin
i := Round(1.5); // i等于2
j := Round(2.5); // j等于2
end;
此时没有按照"四舍五入"的规则来运算,而是另一个规则"四舍六入五取偶",即舍入位小于或大于5的部分按照"四舍五入"计算,如果等于5,要看舍入位前一位,如果前一位是奇数,则进
1,偶数不变。
这种规则采用 了Banker's rounding(银行家舍入)算法,事实上这也是 IEEE标准 规定的舍入标准。
double类型计算的更多相关文章
- Java中的Double类型计算
一.问题的提出: 如果我们编译运行下面这个程序会看到什么?public class Test{ public static void main(String args[]){ Sy ...
- [ JAVA编程 ] double类型计算精度丢失问题及解决方法
前言 如果你在测试金融相关产品,请务必覆盖交易金额为小数的场景.特别是使用Java语言的初级开发. Java基本实例 先来看Java中double类型数值加.减.乘.除计算式实例: public cl ...
- Java中Double类型计算问题
public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); ...
- 精度更高的double类型计算工具类(借助BigDecimal类型)
/** * 提供精確的加法運算 * @param args */ public static double add(double v1, double v2) { BigDecimal b1 = ne ...
- 不要在精确计算中使用float和double类型
http://blog.csdn.net/androiddevelop/article/details/8478879 一 问题描述 float和double类型不能用于精确计算,其主要目的是为了科 ...
- java中如果需要精确的计算答案,请避免使用double类型与float类型
double类型与float类型主要用于科学计算与工程计算而设计的,用于二进制浮点计算.对于普通计算通常是结果不准确的,所以对于普通的浮点数的加减法等,解决的方法需要用int,long,BigDeci ...
- Java浮点数float,bigdecimal和double精确计算的精度误差问题总结
(转)Java浮点数float,bigdecimal和double精确计算的精度误差问题总结 1.float整数计算误差 案例:会员积分字段采用float类型,导致计算会员积分时,7位整数的数据计算结 ...
- java double类型保留两位小数4种方法【转】
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...
- Double 类型运算时的精度问题
double 类型运算时的 计算的精度不高,常常会出现0.999999999999999这种情况,那么就须要用BigDecimal 它是java提供的用来高精度计算的工具类 以下是对这个类的一个包 ...
随机推荐
- Kafka,Mq,Redis作为消息队列有何差异?
Kafka作为新一代的消息系统,mq是比较成熟消息系统,而redis也可以发布订阅,那么这三者有何异同? RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,X ...
- memcache 未授权访问漏洞
memcache是一套常用的key-value缓存系统,由于它本身没有权限控制模块,所以开放在外网的memcache服务很容易被攻击者扫描发现,通过命令交互可直接读取memcache中的敏感信息. 修 ...
- SpringBoot设置默认启动页的2种方式
方式一: 继承WebMvcConfigurerAdapter,重写addViewControllers. @Configurationpublic class WebConfigurer extend ...
- 在VS 2012或2013中使用WSE
1,首先下载 WSE http://www.microsoft.com/en-us/download/confirmation.aspx?id=14089 2,安装的时候选上, 3,C:\Progra ...
- AVFoundation 文本播报
#import <Foundation/Foundation.h> #import <AVFoundation/AVFoundation.h> @interface Speak ...
- MarkDown语法实操
一级标题 这是引用 二级标题 https://daringfireball.net/projects/markdown/dingus 你好啊,这是斜体 引用 添加图片 图片alt就是显示在图片下面的文 ...
- Android 数据库框架GreenDao使用
1.GreenDao3介绍 (1)基本概念 (2)GreenDao3工作原理 (3)GreenDao优点 (4)GreenDao3版本的改进 2.GreenDao3的相关配置概念介绍 (1)配置项目( ...
- tornado 04 模板
一.模板 #模板就是一个HTML文件,只是其中添加了模板语法,需要服务器的渲染才能正常显示数据 #通过render可以返回一个html网页,不过那都是固定的页面,固定的数据,如果数据是不确定的,是会不 ...
- C#异步编程之基于任务的异步模式
http://www.cnblogs.com/afei-24/p/6757361.html该文讲了基于任务的编程,这里再详细介绍一下.一.延续任务 private async static void ...
- edX MITx: 6.00.1x Introduction to Computer Science and Programming Using Python 课程 Week 1: Python Basics Problem Set 1 Problem 3
Assume s is a string of lower case characters. Write a program that prints the longest substring of ...