每日一练109——Java格式化小数位#0(8kyu)

题目

每个数字都应格式化为四舍五入到小数点后两位。您无需检查输入是否为有效数字,因为测试中仅使用有效数字。

Example:    
5.5589 is rounded 5.56   
3.3424 is rounded 3.34

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;

public class NumbersTest
{
  @Test
  public void Test_01()
  {
    assertEquals(4.66, Numbers.TwoDecimalPlaces(4.659725356), 0.00);
  }
  
  @Test
  public void Test_02()
  {
    assertEquals(173735326.38, Numbers.TwoDecimalPlaces(173735326.3783732637948948), 0.00);
  }
}

解题

My:

public class Numbers
{
  public static double TwoDecimalPlaces(double number)
  {
    return (double)Math.round(number*100)/100;
  }
}

Other:

public class Numbers
{
  public static double TwoDecimalPlaces(double number)
  {
    //Write your code here
    return (Math.round(number*100))/100.0;
  }
}

利用库函数:

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Numbers
{
  public static double TwoDecimalPlaces(double number)
  {
    return new BigDecimal(String.valueOf(number)).setScale(2, RoundingMode.HALF_UP).doubleValue();
  }
}
import java.text.*;
public class Numbers
{
  public static double TwoDecimalPlaces(double number)
  {
    return Double.parseDouble(String.format("%.2f", number));
  }
}

后记

原来不需要使用double来强制转换,因为Math.round()返回值是double类型的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 互联网的出现加速了信息的传播,降低了信息流通的成本,也就是说,互联网连接了人与人以及人与信息,而随后出现的移动互联...
    Drluffyzpf阅读 263评论 0 2
  • (第三十三节) 苟德胜听了哥哥的建议,立马就让剩娃招来了全村子的后生,准备商量村子里自卫队的事情。老祠堂又热闹了起...
    虚实先森阅读 960评论 0 7
  • 还春雨夜访,河下塘水映朝阳, 与君共赏, 几度绿枝红裳,满庭芳。 蝶儿舞过河岸,蜂儿不愁日晚。 倾闻,谁诉消遣, ...
    维也纳的琴声阅读 184评论 0 0
  • 在我的理解中,日本悬疑小说一直是以其压抑的气氛,诡异的发展给人以惊悚漆黑的感觉,事实上,《白夜行》便是如此的一部代...
    空想家卡其阅读 1,139评论 0 2

友情链接更多精彩内容