Java中分别取数的整数及小数部分

import java.math.BigDecimal;
import java.util.Scanner;

/**
 * Created by Administrator on 2016/9/20.
 */
public class BigDecimalGetNumbers {
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        double dInput = in.nextDouble();
        long longPart = (long) dInput;
        BigDecimal bigDecimal = new BigDecimal(Double.toString(dInput));
        BigDecimal bigDecimalLongPart = new BigDecimal(Double.toString(longPart));
        double dPoint = bigDecimal.subtract(bigDecimalLongPart).doubleValue();
        System.out.println("整数部分为:" + longPart + "\n" + "小数部分为: " + dPoint);
    }
}

测试数据:1.234567E4

1.234567E4
整数部分为:12345
小数部分为: 0.67

Process finished with exit code 0
时间: 2024-08-08 02:58:29

Java中分别取数的整数及小数部分的相关文章

sql中取小数的整数部分和小数部分

1.floor()函数. select floor(3.44), 3.44-floor(3.44) 显示: 3     0.44 对于负数和正数这个函数处理的不一样. 对于正数不进行四舍五入.对于负数进行四舍五入. 2. select cast(12.3 as int), 12.3-cast(12.3  as int) select cast(-12.3 as int), -12.3+cast(-12.3  as int) 显示: 12     0.3 -12 -0.3 3. select le

JS案例之8——从一个数组中随机取数

近期项目中遇到一个需求,从一个列表中随机展示列表的部分内容,需求不大,JS也非常容易实现.主要是运用到了Math对象的random方法,和Array的splice方法. 思路是先新建一个数组,存放所有的列表,然后算出随机数,从数组中取出这个随机索引对应的值,然后组成一个随机数组. 源代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" Conten

输入一个浮点数,并输出该数的整数部分和小数部分

package javaapplication29; import java.util.Scanner;import java.util.StringTokenizer; /** * * @author qingzhu */public class JavaApplication29 { /** * @param args the command line arguments */ public static void main(String[] args) { String[] mess={"

java中int取值范围是怎么计算的?

首先jdk中定义int占4个字节 ===> 32位(后面全部的计算都是以此为根据的) 32位就是jvm仅仅给分配32个格子的空间,用以存放数据. 总所周知计算机中用0和1存放数据. 那么,32个格子中放满0或1的方法 有2的32次方种: 所以.这32个格子中.或者说32位的空间能标识10进制的数字: 最小 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 最大 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

java中byte取值范围为什么是 -128到127

概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为"0"表示正数,最高位为"1"表示负数.正数补码为其本身:负数补码为其绝对值各位取反加1:例如:+21,其二进制表示形式是00010101,则其补码同样为00010101-21,按照概念其绝对值为00010101,各位取反为11101010,再加1为11101011,即-21的二进制表示形式为11101011 步骤:1.byte为一字节8位,最高位是符号位,即最大值是01111111,因正数的补码是其

Java中如何取数据各个位上的值

/思想:取数据各个位上的值需求:在控制台输出所有的"水仙花数"分析:所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身比如:153=111 + 555 + 333/class ForDemo4{public static void main (String[] args){for (int x = 100;x<=999;x++){int ge = x%10; //想要取一个数的个位数值,就用该数对10取余int shi=x/10%10; //想要取一个数的十位数值,就用

java中的取模(%)

5除以2等于2余1(不要说2.5哈)==>5取模2等于1==>5%2=1(结果是 1) 10%4=2 5%1=0(能整除的都是 0) 1%5=1 2%5=2 5%5=0 规律:左边如果小于右边,结果是左边 左边等于右边,结果是0 右边是1,结果是0 边边角角的知识:开发的时候不多见 1%-5=1 -1%5=-1 取模的时候如果运算里出现了负数,这个负数只看被模数,或者看%左边,右边正负都不管!

没那么简单:Java中应该怎样判断一个整数是偶数还是奇数

环境:jdk 1.7. package hellojava; public class HelloJava { // 用取余运算 public boolean isEven01(int num) { if (num % 2 == 0) { return true; } else { return false; } } // 如果没有取余运算符,自己做一个 public boolean isEven02(int num) { int tmp = num/2; if (num-tmp*2 == 0)

JAVA 浮点数转化为百分数,分离整数和小数部分

JAVA 浮点数转化为百分数 public class DoubleToPercentformat { /** * 将double类型数据转换为百分比格式,并保留小数点前IntegerDigits位和小数点后FractionDigits位 * @param d * @param IntegerDigits * @param FractionDigits * @return */ public static String getPercentFormat(double d,int IntegerD