日期:2014-05-17 浏览次数:20925 次
import javax.swing.JOptionPane;
public class TestInputDialog {
public static void main(String[] args) {
String input = JOptionPane.showInputDialog("请输入一个浮点类型的数");
// 不行,比如: 输入:123456789.123456789;输出:123456792
// float a = Float.parseFloat(input);
// JOptionPane.showMessageDialog(null,"的整数部分是:"+(int)a,"结果",JOptionPane.PLAIN_MESSAGE);
String output = input.substring(0, input.contains(".") ? input
.indexOf(".") : input.length());
JOptionPane.showMessageDialog(null, "的整数部分是:" + output, "结果",
JOptionPane.PLAIN_MESSAGE);
}
}
------解决方案--------------------
很简单,要input变量 float转int型你得先让人知道你的input是什么东西。
String input ;
float a = Float.parseFloat(input);这里input就是null。
------解决方案--------------------
public static void main(String[] args)
{
String inputMessage=JOptionPane.showInputDialog("请输入一个浮点类型的数");
Double dou = 0.0D;
if(inputMessage.contains("."))
{
dou = Double.parseDouble(inputMessage.split("\\.")[1]);
}
JOptionPane.showMessageDialog(null,inputMessage+"的整数部分是:"
+(int)Math.round(Double.parseDouble(inputMessage))
+" 小数部分是"+Math.round(dou),"结果",JOptionPane.PLAIN_MESSAGE);
}
这样Ok!
------解决方案--------------------
String input = JOptionPane.showInputDialog("请输入一个浮点类型的数");
BigDecimal a = new BigDecimal(input);
BigDecimal b = a.subtract(new BigDecimal(a.intValue()));
JOptionPane.showMessageDialog(null,input+"的整数部分是:"+a.intValue()+" 小数部分是"+b,"结果",JOptionPane.PLAIN_MESSAGE);