接受一个double型参数,转换成CHAR型,在前面补0,补足8位
比如说1.1则在前面补6个0 0000001.1
23.3在前面补5个0 就是 0000023.3
为什么下面这样写输出结果不对?class DoubleToChar
{
public static char convert(double num)
{
double temp = num;
String str = "00000000" + String.valueOf(temp);
str = str.substring(str.length() - 8);
char a = (char)Double.valueOf(str).doubleValue();
return a;
} public static void main(String[] args)
{
System.out.println(DoubleToChar.convert(1.23));
}}
比如说1.1则在前面补6个0 0000001.1
23.3在前面补5个0 就是 0000023.3
为什么下面这样写输出结果不对?class DoubleToChar
{
public static char convert(double num)
{
double temp = num;
String str = "00000000" + String.valueOf(temp);
str = str.substring(str.length() - 8);
char a = (char)Double.valueOf(str).doubleValue();
return a;
} public static void main(String[] args)
{
System.out.println(DoubleToChar.convert(1.23));
}}
解决方案 »
- 我想哭。。。。续:我不想哭,但我有问题要请教大家!!!!!!!!!!
- 如何获取指定节点下的节点值
- 聊天室程序的问题
- 如何实现将网页保存成mht文件
- 多态又见多态!!高手请进,static到底能不能覆盖!!!!!
- 怎么在别人java类的方法分支处插入装置变量
- 请大家帮忙改道题!
- 如何让applet在最初的时候处于不可见状态? 急啊!!!!!!
- 请教一个关于Color的问题
- JAVAMAIL的简单问题:Import refers to a missing package: javax.activation.*,解决立刻送分!!!
- JBossCache-TreeCache体验
- 有两个页面 怎么使用"chk_period.checked==true"这样的
{
double temp = num;
String str = "00000000" + String.valueOf(temp);
str = str.substring(str.length() - 8);
return str;
}
return new DecimalFormat("00000000.00").format(num);
}
如,
double dd=123456.789;
用楼主的方法是不是会得到23456.789呢?——假如小数点不算长度的话:)再,
一般做这种格式化,都是小数点后定长,前面补0的吧:如4楼所示
楼主是不是理解错了哪里的意思呀