我有几个字符串值,我从我的数据库中取出,例如
"1/4","2/3"
Run Code Online (Sandbox Code Playgroud)
但是当显示为Android ListView内容时,我需要将其显示为0.25,0.66.
现在我不想拆分字符串,然后将单个字符串转换为数字,然后将它们除以得到结果.
有谁知道,任何直接的功能如何Double.valueOf或parseDouble善良?
为什么你"不想拆分字符串,然后将字符串转换为单个字符串,然后将它们除以得到结果"?
我不知道有任何内置函数可以做到这一点,所以最简单的解决方案:
double parse(String ratio) {
if (ratio.contains("/")) {
String[] rat = ratio.split("/");
return Double.parseDouble(rat[0]) / Double.parseDouble(rat[1]);
} else {
return Double.parseDouble(ratio);
}
}
Run Code Online (Sandbox Code Playgroud)
它还涵盖了您具有比率的整数表示的情况
parse("1/2") => 0.5
parse("3/7") => 0.42857142857142855
parse("1") => 1.0
Run Code Online (Sandbox Code Playgroud)
小智 6
我想您在过去两年中解决了这个问题;但是,您可以使用Apache commons分数类。
它具有内置的解析器,因此如果要调用:
Fraction fraction = Fraction.getFraction("1/2");
double d = fraction.doubleValue();
Run Code Online (Sandbox Code Playgroud)
则d应包含.5。
| 归档时间: |
|
| 查看次数: |
9772 次 |
| 最近记录: |