问题要点:

输入的实数没有限制大小。考虑到float、double有限制范围、会出现精度丢失的问题,需要将输入的值接收为字符串。

描述:求实数的绝对值。

输入

一个实数

输出

输出一行,结果保留两位小数

代码:

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
如果觉得我的文章对你有用,请随意赞赏