栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中为零时的负号

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中为零时的负号

我不认为仅用一种方法就可以做到这一点

DecimalFormat
,但是这种单线解决了这个问题:

formattedValue = formattedValue.replaceAll( "^-(?=0(\.0*)?$)", "");

它消除(其替换

""
减号),如果它后面跟着0-n个字符的
"0.00000..."
,所以这将任何结果,如类似的工作
"-0"
"-0."
"-0.000000000"

这是一些测试代码:

public static void main(String[] args) {    System.out.println(format(-0.023));    System.out.println(format(12.123));    System.out.println(format(-12.345));    System.out.println(format(-0.123));    System.out.println(format(-1.777));}public static String format(double number) {    DecimalFormat df = new DecimalFormat("#,##0.0");    df.setRoundingMode(RoundingMode.HALF_UP);    String formattedValue = df.format(number);    formattedValue = formattedValue.replaceAll("^-(?=0(\.0*)?$)", "");    return formattedValue;}

输出(预期):

0.012.1-12.3-0.1-1.8


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/483369.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号