java - 将 Char 转换为 double

标签 java char double

如何将 char 形式的数值转换为 double 值?

我试过将 char 转换为 double 但...它不会像我猜测的那样工作,因为诸如“4”的 char 将转换为 double 的 52.0。

那么有没有办法把一个值为say的char转换成 字符 c = '4' 到 4.0 的 double 值,我可以在其中实际对该值执行数学计算?

这只是我创建的一个小程序,用于说明将 numeric char 直接转换为 double 不会像我预期的那样工作。

public class conversion
{
public static void main(String args[])
{
    char eight = '8';
    char four = '4';

    double d2 = (char)eight;
    double d1 = (char)four;

    System.out.println(d2);
    System.out.println(d1);

    double result = (d2 / d1);

    System.out.println(result);
}
}

输出:

56.0
52.0
1.0769230769230769

最佳答案

你可以这样做:

double d2 = (double) Character.digit(eight, 10);
double d1 = (double) Character.digit(four, 10);

或者:

double d2 = (double) (eight - '0');
double d1 = (double) (four - '0');

如果要转换整个字符串,请使用 Double.parseDouble

double d2 = Double.parseDouble("15.5");

当心可能的 NumberFormatException是字符串是一个无效的 float

关于java - 将 Char 转换为 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19987628/

相关文章:

java - 从通用通配符引用调用方法

c# - 获取 Control.KeyDown 上的字符?

c - 如何在 C 中创建一个带有随机字符的文件?

dart - 如何设置Dart小数点后的最小位数?

c - 具有两个 double 的结构的对齐方式为 4,即使 double 对齐为 8(32 位)

java - 我试图将双变量从一种方法调用到另一种方法中

java - 为什么它只绘制其中一个组件?

c - 在c中对字符串数组进行排序

matlab - 在 MATLAB 中使用新属性对 "double"进行子类化时,是否有一种简单的方法来访问数据值?

java - 将模型与数据预处理步骤集成