package LianShou;
import java.util.Scanner;
/**
* 得到double的小数部分
* @author Administrator
*
*/
public class Decimal {
/**
* @param args
*/
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
//输入
double num=input.nextDouble();
//转成String
String str=String.valueOf(num);
//根据小数点分割字符串
String numStr=str.substring(str.indexOf('.')+1);
//输出小数部分
System.out.println(numStr);
}
}
如果你想得到的是double或者int类型,把numStr转回来就行了,
int numInt=Integer.parseInt(numStr);
double numDou=Double.parseDouble(numStr);
恩恩,谢谢了,我也想到了用分割的方法,就是不知道怎么写?
@whatever199006: (⊙o⊙)嗯,给个采纳就行了。
@IT懒猫: 我要的是在控制台里写的啊
@whatever199006:
1 //1 2 string val = Console.ReadLine(); 3 decimal number = string.IsNullOrEmpty(val) ? 0 : val.IndexOf(".") == -1 ? Convert.ToDecimal(val) : val.IndexOf(".") + 1 >= val.Length ? 0 : Convert.ToDecimal(val.Substring(val.LastIndexOf(".") + 1)); 4 number = val.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries).Length > 2 ? 0 : number; 5 Console.WriteLine(number); 6 7 //2 8 decimal a = Convert.ToDecimal(Console.ReadLine()); 9 a = Convert.ToDecimal(a.ToString().Replace(decimal.Truncate(a).ToString() + ".", "")); 10 Console.WriteLine(a); 11 12
@Mundo Novo: 第三行和第四行的没看明白,能解释一下吗?谢谢了
@whatever199006:我晕,你没说是用什么语言实现,我用的是java
@IT懒猫: 能用控制台吗?
且不失真是什么意思?