日期:2014-05-17 浏览次数:20747 次
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);