问题

如何在JSP / Java中从double获取整数和小数部分?如果值是3.25那么我想得到fractional =.25,whole = 3

我们怎样才能在Java中做到这一点?

#1 热门回答(138 赞)

double value = 3.25;
double fractionalPart = value % 1;
double integralPart = value - fractionalPart;

#2 热门回答(91 赞)

double num;
long iPart;
double fPart;
// Get user input
num = 2.3d;
iPart = (long) num;
fPart = num - iPart;
System.out.println("Integer part = " + iPart);
System.out.println("Fractional part = " + fPart);
输出:
Integer part = 2
Fractional part = 0.2999999999999998

#3 热门回答(24 赞)

由于这个1岁的问题是由纠正问题主题的人提出的,并且这个问题已经用jsp标记,并且这里没有人能够给出针对性的JSP答案,这里是我的JSP目标贡献。

使用JSTL(只需dropjstl-1.2.jarin/WEB-INF/lib)fmttaglib。有一个a标签可以完全按照你想要的方式,并且在maxFractionDigits和maxIntegerDigits属性的帮助下以一种非常简单的方式。

这是一个SSCCE,只是复制'n'paste'n'run它。

/

/ Just for quick prototyping. Don't do this in real! Use servlet/javabean.
double d = 3.25;
request.setAttribute("d", d);
%>
SO question 343584 
 
Whole: 
Fraction: 
输出:
整体:3分数:.25

而已。无需借助原始Java代码进行按摩。