首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中将双精度型转换为浮点型

在Java中将双精度型转换为浮点型
EN

Stack Overflow用户
提问于 2015-09-29 15:09:42
回答 7查看 295.1K关注 0票数 94

我面临着一个与将double转换为float相关的问题。实际上,我在数据库中存储了一个浮点类型23423424666767,但是当我们在下面的代码getInfoValueNumeric()中从数据库中获取数据时,它是double类型。我们得到的值是2.3423424666767E13形式的。

那么,我们如何获得像23423424666767这样的float格式数据呢

2.3423424666767E13 to 23423424666767

代码语言:javascript
复制
public void setInfoValueNumeric(java.lang.Double value) {
    setValue(4, value);
}


@javax.persistence.Column(name = "InfoValueNumeric", precision = 53)
public java.lang.Double getInfoValueNumeric() {
    return (java.lang.Double) getValue(4);
}
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-09-29 15:13:24

只需将你的替身转换为浮动即可。

代码语言:javascript
复制
double d = getInfoValueNumeric();
float f = (float)d;

另请注意,基本类型不能存储无限的数字集:

代码语言:javascript
复制
float range: from 1.40129846432481707e-45 to 3.40282346638528860e+38
double range: from 1.7e–308 to 1.7e+308
票数 216
EN

Stack Overflow用户

发布于 2015-09-29 15:14:53

我建议您检索以BigDecimal类型存储在数据库中的值:

代码语言:javascript
复制
BigDecimal number = new BigDecimal("2.3423424666767E13");

int myInt = number.intValue();
double myDouble = number.doubleValue();

// your purpose
float myFloat = number.floatValue();

BigDecimal为您提供了许多功能。

票数 27
EN

Stack Overflow用户

发布于 2017-11-23 10:01:31

Double转换为Float

代码语言:javascript
复制
public static Float convertToFloat(Double doubleValue) {
    return doubleValue == null ? null : doubleValue.floatValue();
}

double转换为Float

代码语言:javascript
复制
public static Float convertToFloat(double doubleValue) {
    return (float) doubleValue;
}
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32837783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档