Loading... ## 问题要点: 输入的实数没有限制大小。考虑到float、double有限制范围、会出现精度丢失的问题,需要将输入的值接收为字符串。 ## 描述:求实数的绝对值。 ### 输入 ``` 一个实数 ``` ### 输出 ``` 输出一行,结果保留两位小数 ``` ## 代码: ```java package oj1002; import java.util.Scanner; /** * 该程序需注意分两种情况 * 1、有小数,将小数点作为索引,并保留两位小数或补全两位小数 * 2、无小数,直接按程序输出 * @author Renxing * @time 2020年11月24日 21:45 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String in = sc.nextLine(); if(in.indexOf('.')==-1) { char zhengfu=in.charAt(0); if (zhengfu == '-') { System.out.println(in.substring(1)+".00"); }else { System.out.println(in+".00"); } }else { String zhengshu = in.substring(0,in.indexOf('.')); char zhengfu=in.charAt(0); String xiaoshu = in.substring(in.indexOf('.')); if (xiaoshu.length() >= 3) { xiaoshu = xiaoshu.substring(0,3); }else { xiaoshu = xiaoshu+'0'; } if (zhengfu == '-') { System.out.println(zhengshu.substring(1)+xiaoshu); }else { System.out.println(zhengshu+xiaoshu); } } } } ``` Last modification:August 26, 2021 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 如果觉得我的文章对你有用,请随意赞赏