没人理吗?我自己回去查了下资料,发现其实不是太难。
我自己写了个程序,请各位高手帮忙指正。import javax.swing.JOptionPane;
import java.text.NumberFormat;
import java.util.Locale;public class DoubleToString
{
public static void main(String[] args)
{
//double d=3333333.3333333; //这个是测试数据
String strNum=JOptionPane.showInputDialog("请输入一个浮点数:");
double d=String.valueof(strNum); /*这句话是错的。我是想把输入的字符串变成double,但不 知道怎么搞,是什么方法,请大家帮忙解决*/
NumberFormat number=NumberFormat.getNumberInstance(); //设置为默认的模式
number.setMaximumFractionDigits(8); //设置格式化输出显示的最多显示小数位为8位
System.out.println(number.format(d));//格式化输出
System.exit(0); //用了弹出窗口后的结束线程
}
}欢迎大家讨论
我自己写了个程序,请各位高手帮忙指正。import javax.swing.JOptionPane;
import java.text.NumberFormat;
import java.util.Locale;public class DoubleToString
{
public static void main(String[] args)
{
//double d=3333333.3333333; //这个是测试数据
String strNum=JOptionPane.showInputDialog("请输入一个浮点数:");
double d=String.valueof(strNum); /*这句话是错的。我是想把输入的字符串变成double,但不 知道怎么搞,是什么方法,请大家帮忙解决*/
NumberFormat number=NumberFormat.getNumberInstance(); //设置为默认的模式
number.setMaximumFractionDigits(8); //设置格式化输出显示的最多显示小数位为8位
System.out.println(number.format(d));//格式化输出
System.exit(0); //用了弹出窗口后的结束线程
}
}欢迎大家讨论
解决方案 »
- 线程池子的问题啊~感谢 阿宝 和 大火龙啊!还是不太明白啊。
- 高手请进....怎么我的实现不了以行逆序输出啊?(附源代码)
- 【分享】今天写了个算法解决了阿拉伯数字和中文大写的相互转换,给大家看看顺便帮我测试下啊
- 如何把一个JPanel显示到java.awt.Canvas的上面?
- Myeclipse安装之后运行不了eclipse了。
- 请高手给我讲讲finally的这种特殊用法,我没有查到。
- msdn资料在哪里?
- 求点拨一个Socket通信实验的“空指针错误”原因.
- 请问:怎么样把sun的doc集成到Jbuilder里面去呀。。Jbuilder里面的帮助一点也好呀。。连个样列都没有?
- 给分王,我要功成隐退了
- 请高手指点 100分送上 用jcombobox怎么能实现和IE地址栏一样的显示功能
- 如何将java程序转换成windows上的可执行程序
我决的应该用case引证:通过变量将每种情况扫入变量中,在由变量的值去确定string
double d=Double.parseDouble(strNum);
number.setMaximumFractionDigits(8);
* Created on 2005-2-12
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package test;import javax.swing.JOptionPane;/**
* @author SquallStar
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Test {
public static String first(String s){
char[] a = s.toCharArray();
int i = 0;
int j = 0;
boolean allz = false;
for(i = 0; i < a.length; ++i){
if(a[i] == '.'){
j = i;
break;
}
}
++i;
for(;i < a.length; ++i){
if(a[i] == '0'){
allz = true;
}else {
allz = false;
break;
}
}
if(allz)
return new String(a, 0, j);
else
return s;
}
public static String second(String s){
System.out.println(s);
char[] a = s.toCharArray();
int i = 0;
int fi = 0;
int add = 0;
boolean hasp = false;
boolean haso = false;
String first = "";
String last = "";
String result = "";
if(a[0] == '+' || a[0] == '-'){
first = String.valueOf(a[0]);
haso = true;
}
for( ; i < a.length; ++i){
if(a[i] == '.'){
hasp = true;
break;
}
}
System.out.println(i);
if(hasp){
last = new String(a, i , a.length - i);
--i;
}
if(!hasp)
--i;
result = last;
if(haso){
fi = 1;
}
for(;i >= fi; --i){
++add;
if(add == 3 && i != fi){
result = "," + String.valueOf(a[i]) + result;
add = 0;
} else {
result = String.valueOf(a[i]) + result;
}
}
result = first + result;
return result;
}
public static String doubleToString(double dou){
return Double.toString(dou);
}
public static void main(String[] args) {
String strNum = JOptionPane.showInputDialog("请输入一个浮点数:");
double d = Double.parseDouble(strNum);
String first = first(doubleToString(d));
String result = second(first);
System.out.println(result);
}
}
double d = Double.parseDouble(strNum);
public class aa
{
public static void main(String[] args)
{
public class aa
{
public static void main(String[] args)
{
System.out.println(10.1-10.0);
}
}
上面这个贴没写完不知道怎么就发出去了。可以发现结果不是0。1。多余的精度是哪里来的??哪位可以解释下吗?我看的入门书我翻了下,没找着答案。*_*
* @author SquallStar
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class TestForTen { public static void main(String[] args) {
double i = 0;
for( i = 9.5; i != 10.0 ; i = i + 0.1)
{
System.out.println(i);
try{
Thread.sleep(500);
}catch(Exception e)
{
e.printStackTrace();
}
}
}
}看下循环能不能停好了