double类型转换为int类型四舍五入工具类

package com.qiyuan.util;

import java.math.BigDecimal;
import java.text.DecimalFormat;

public class GetInt {

    /**
     * (1)四舍五入把double转化int整型,0.5进一,小于0.5不进一
     * @param number
     * @return
     */
    public static int getInt(double number){
        BigDecimal bd=new BigDecimal(number).setScale(0, BigDecimal.ROUND_HALF_UP);
        return Integer.parseInt(bd.toString());
    } 

    /**
     * (2)四舍五入把double转化为int类型整数,0.5也舍去,0.51进一
     * @param dou
     * @return
     */
    public static int DoubleFormatInt(Double dou){
        DecimalFormat df = new DecimalFormat("######0"); //四色五入转换成整数
        return Integer.parseInt(df.format(dou));
    }

    /**
     * (3)去掉小数凑整:不管小数是多少,都进一
     * @param number
     * @return
     */
    public static int ceilInt(double number){
        return (int) Math.ceil(number);
    }

    /**
     * 测试
     * @param args
     */
    public static void main(String[] args) {
        System.out.println("getInt============="+getInt(20.5));
        System.out.println("DoubleFormatInt=========="+DoubleFormatInt(20.5));
        System.out.println("ceilInt================="+ceilInt(20.01));
    }

}

原文地址:https://www.cnblogs.com/javahr/p/8320759.html

时间: 2024-10-08 15:53:29

double类型转换为int类型四舍五入工具类的相关文章

pandas把'<m8[ns]'类型转换为int类型进行运算

工作中经常碰到两列数据为date类型,当这两列数据相减或者相加时,得到天数,当运用这个值进行运算会报错:ufunc true_divide cannot use operands with types dtype('int64') and dtype('<m8[ns]'),我们只需要把'<m8[ns]'类型数据转换为int就可以继续运算 l = df1['计划结束时间'] - df1['计划开始时间']为: 这个数据是不能进行加减运算的 L = l.values / (24*60*60*100

java中如何将Object类型转换为int类型

如何将Object类型转换为int类型 Object object = null; try { Integer.parseInt(object.toString()); } catch (NumberFormatException e) {} 也可以先判定一下是否是Integer //可以先判定一下是否是Integer Object object = "111"; if (object instanceof Integer) { Integer.parseInt(object.toSt

34 char类型转换为int类型

#include<iostream> #include<cstdlib > using namespace std; int main() { char a=101; int sum=200; a+=27;sum+=a; printf("%d", a); cout<<sum<<endl; } 分析:char类型的范围是-128---+127,当a+=27,之后a的值超出可表示范围会变为-128. a为char型,-128~127,a=10

C++中将string类型转换为int, float, double类型 主要通过以下几种方式:

# 方法一: 使用stringstream stringstream在int或float类型转换为string类型的方法中已经介绍过, 这里也能用作将string类型转换为常用的数值类型. Demo: [cpp] view plaincopy #include <iostream> #include <sstream>    //使用stringstream需要引入这个头文件 using namespace std; //模板函数:将string类型变量转换为常用的数值类型(此方法

sqlserver中将varchar类型转换为int型再进行排序的方法

sql中把varchar类型转换为int型然后进行排序,如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话 如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话我们是不希望看到如下情况的. 我们可以把varchar转换为int 然后进行排序 一. 复制代码代码如下: select * from yourtable order by cast(yourcol as int); 适用于SQLServer Oracle 二. 复制代码代

[email&#160;protected]子类类型转换为父类类型

static_cast(*this) to a base class create a temporary copy. class Window { // base class public: virtual void onResize() { ... } // base onResize impl ... }; class SpecialWindow: public Window { // derived class public: virtual void onResize() { // d

(C语言)char类型与int类型相加

1 #include <stdio.h> 2 3 int main(void) { 4 char a = 127; 5 int b = 4; 6 int c = a + b; 7 a += b; 8 printf("c=%d",c); 9 //printf("c=%s",c); 10 printf("a=%d",a); 11 //printf("a=%c",a); 12 //printf("a=%s&qu

java -------- String类型转换为数字类型

将 String类型转换为数字类型的时候要注意,数据类型的范围 整型: byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1) short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1) int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1) long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的6

将任意格式转换为JSON数据格式的工具类

Java的将任意格式转换为JSON数据格式的工具类 package org.sjw.utils; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.util.List; import java.util.Map; import java.util.Set; public class JsonUtils