java中零的情况下的负号

2024-02-05

有没有办法在结果返回零时截断负号;使用十进制格式时?

DecimalFormat df = new DecimalFormat("#,##0.0");
df.setRoundingMode(RoundingMode.HALF_UP);
formattedValue = df.format("-0.023");

上面的代码返回 -0.0 。有什么办法让它只返回0.0吗?但是,当结果为负数时,我想保留负号。


我不认为有办法做到这一点DecimalFormat,但这一句就解决了这个问题:

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

它删除(替换为"") 减号(如果后面跟着 0-n 个字符)"0.00000...",因此这适用于任何类似的结果,例如"-0", "-0." or "-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.0
12.1
-12.3
-0.1
-1.8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中零的情况下的负号 的相关文章

  • java try catch 程序流程什么时候中断?

    你好 我对 Java 中的异常处理不太熟悉 所以 正如主题在基本 try catch 块中所述 当我在 Try 块中捕获异常时 程序流程何时中断 try some code that raises an Exception catch Ex
  • JNA - EnumProcessModules() 未返回所有 DLL?

    我试图从游戏中读取坐标 当我在通过 OpenProcess 接收的 HANDLE 上使用 ReadProcessMemory 以及我在 CheatEngine 中找到的内存时 效果非常好 例如 如果我知道正在运行的进程中的浮点值是0x5AB
  • jpa2 CriteriaBuilder order by “ORDER BY 表达式必须出现在选择列表中”

    我正在写一个查询标准生成器 但无法添加order by子句 因为它随消息一起抛出错误ORDER BY 表达式必须出现在选择列表中这是我的实体 public class A Integer aId ManyToOne JoinColumn n
  • 如何将抽象工厂与单例模式结合起来? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在用 java 编码 并且对这些模式很陌生 谁能给我一个也使用单例的工厂抽象的例子 这是一个实现类的示例单例模式 这个实现也是线程安全
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • 我需要一个字数统计程序[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要弄清
  • 按文件名过滤 eclipse 中的警告

    我们使用 Eclipse 进行 Java 开发 并使用 Maven 将 JSP 编译成 servlet 以便在嵌入式 Jetty 实例中使用 这意味着要从 Eclipse 运行该项目 我必须包含 target jsp source 作为源文
  • 在java中将DataURL图像转换为图像文件

    我在我的 java servlet 中接收图像 DataURL 它看起来像 data image jpeg base64 9j 4AAQSkZJRgABAQAAAQABAA 我需要将其另存为图像文件 我该怎么做 The simplest w
  • Java 中的 MP4 容器编写器

    我想找到一个免费的 Java MP4 容器 编写器 我不需要编码器 只需要能够根据预期值写入正确原子的编码器 Bonus对于这样一个库 也可以编写 有效 F4V 我更喜欢纯 Java 解决方案 而不是使用 JNI 或外部可执行文件的解决方案
  • org.apache.commons.codec.digest.Md5Crypt.md5Crypt 函数。 linux下出现异常,windows下正常

    我们正在使用commons codec加密密码 使用org apache commons codec digest Md5Crypt md5Crypt功能 在Windows环境下工作正常 但在CentOS上却抛出异常 我们有3台centOS
  • 如何使用 Selenium 中的索引切换到窗口

    由于selenium不提供切换到窗口 多个窗口 的方法 但我想使用index html自定义方法来切换到不同的窗口 但下面的代码没有按预期工作 请建议以下方法的最佳实施 public void switchToWindowIndex int
  • 如何在 JdbcTemplate 中创建 mySQL 存储过程

    背景 为了解决 MySql 中某些语句只允许在存储过程中出现的问题 我尝试在 JdbcTemplate 提交的 sql 中创建 运行然后删除存储过程 一个简单的例子是 这恰好是在 Spring Boot 中 Service public c
  • 两条腿的 OAuth 和 Gmail Atom feed

    我们正在尝试让 2 legged OAuth 与 Gmail Atom feed 一起使用 我们使用 John Kristian Praveen Alavilli 和 Dirk Ba lfanz 贡献的 Java 库 http oauth
  • 使用 Box2d(适用于 Android)进行碰撞检测?

    有人可以解释一下使用 box2d for android 进行碰撞检测的工作原理吗 我无法理解 BBContactListener 以什么方式工作 BBContactListener listener new BBContactListen
  • JFrame Glasspane 也优于 JDialog,但不应该

    我有一个带有 Glasspane 的 JFrame 未装饰 该框架打开一个 JDialog 也未装饰 也有一个 glassPane 并隐藏自身 setVisible false Glasspanes 通过 setGlassPane 设置 对
  • Java字符串查找和替换的最佳方法?

    我正在寻找 Java 中字符串查找和替换的最佳方法 这是一句话 我的名字叫米兰 人们都知道我叫米兰瓦西奇 我想用 Milan Vasic 替换 Milan 弦 但在我已经有 Milan Vasic 的地方 情况不应该是这样 搜索 替换后的结
  • javax.xml.bind.JAXBException: 类 *** 及其任何超类在此上下文中均未知

    我正在尝试通过 REST Web 服务传递对象 以下是我的课程 使用一些示例代码解释了我需要的功能 Rest Web 服务类方法 POST Path find Consumes MediaType APPLICATION FORM URLE
  • ASTParser:解析绑定后查找声明节点

    我创建了一个启用了绑定的 AST 当我稍后解析绑定时 我得到了一个有效的 ITypeBinding 但是 当我想要获取绑定的声明 Node 时 它 总是返回 null 除非 ITypeBinding 在 sourceFile 中声明 这是我
  • 如何使 JScrollPane 与嵌套 JPanel 一起正常工作?

    我正在使用 NetBeans 在 Java 中构建 Swing 应用程序 但我遇到布局问题 我的主框架包含一个JScrollPane其中包含一个JPanel called contentPanel其中又包含一个JPanel called l
  • 如何创建具有同等时间元素的 JavaFX 转换?

    我正在尝试 JavaFX 和动画 尤其是PathTransition 我正在创建一个简单的程序 使球 弹跳 而不使用QuadCurveTo班级 到目前为止 这是我的代码 Ellipse ball new Ellipse 375 250 10

随机推荐

  • Android:半圆进度条

    我想要图像背景中的半圆形进度条 就像下图一样 我尝试使用画布进行绘制 但未能成功 我也厌倦了一些自定义进度条库 但结果是相同的 有什么建议 寻找一次性开发并用于每种屏幕尺寸 这可以通过以一定角度剪切包含图像的画布 通过绘制弧线 来实现 你可
  • 成功拉取请求后更改分支并删除 Git 中的分支

    我创建了一个分支 newbranch 从主人那里出来 然后又推回原点 然后我创建了一个拉取请求 该请求被接受并合并到 master 中 此时我应该删除 newbranch 从我的本地并重新从主人那里拉来开始做新的事情 在分支被接受为 mas
  • R - 根据匹配的名称逐个元素组合任意列表

    我有两个清单 m list a list b list 1 2 c 3 b1 4 e 5 n list a list b list 10 20 c 30 b1 40 f 50 其中 m 的结构为 List of 1 a List of 4
  • 函数 eregi() 已弃用 [重复]

    这个问题在这里已经有答案了 函数 eregi 已弃用 我怎样才能替换 eregi 我尝试使用 preg match 但随后停止工作 我使用道德帮助 http takien com 513 how to fix function eregi
  • 通过命令行运行 JAR 时出现错误 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    我有一个正在使用的java程序mysql数据库连接代码 我已经添加了mysql connector java 3 0 10 stable bin jar and mysql connector java 5 0 4 bin jar我的 ec
  • 使用servlet,如何从数据库下载多个文件并将它们压缩以供客户端下载

    我有一个 jsp servlet Web 应用程序 客户端可以通过下拉框选择 课程 和 作业 然后单击按钮下载数据库中该课程 作业组合下列出的所有文件 servlet 代码不太工作 因为 zip 文件没有作为附件发送到浏览器 我确实有一次下
  • 如何在 Interface Builder 中输入 RGB 值?

    如何在 Interface Builder 中输入背景的 RGB 或 Hex 颜色值 我可以选择预定义的颜色 但我想手动输入 RGB 值 我可以在哪里执行此操作 单击颜色滑块图标 然后从下拉列表中选择 RGB 滑块 您还可以使用放大镜作为颜
  • 有没有办法使用 Jquery 检测跨浏览器按下后退按钮

    我有一个正在幻灯片放映的网站 当用户按下后退按钮时 我希望它返回到相册视图而不是先前的页面并阻止页面 有办法做到这一点吗 感谢您的任何帮助或建议 jQuery Address 为浏览器历史记录和 Ajax 抓取提供了强大的跨浏览器支持 ht
  • Apache Rewritemap 未被读取?

    我有一个简单的键值映射文件 它将旧用户 ID 转换为新用户 ID 目标是从旧网站拉出会员个人资料页面 并重定向到新网站 其中会员拥有新的用户 ID 我的虚拟主机配置文件是这样的
  • 更改 TabControl 未使用空间的颜色

    我想更改 TabPage 标题右侧未使用空间的颜色 我试图覆盖OnPaintBackground窗口的方法并且它正在工作 这是我使用的代码 protected override void OnPaintBackground PaintEve
  • 无法找到速度模板资源

    只是一个基于 Maven 结构的简单速度独立应用程序 这是用 Scala 编写的用于渲染模板的代码片段helloworld vm in basedir src main resources文件夹 com ggd543 velocitydem
  • Python 中的货币格式

    我希望使用 Python 将 188518982 18 等数字格式化为 188 518 982 18 我怎样才能做到这一点 See the locale https docs python org 3 library locale html
  • Excel ActiveX 列表框随着每次更新而缩小

    我有一组链接的子程序 其工作原理如下 用户在 ActiveX 文本框中键入内容 该文本框中的更改事件调用模块中的子组件 该模块子驱动器更新工作表中的命名范围 范围值驱动更新使用基于范围值的查找函数的 Excel 单元格表 表值被复制并粘贴到
  • 如何从 flutter 应用程序打开 Instagram?

    当我点击按钮时 我想切换到 Instagram 个人资料 我使用这个库网址启动器 https pub dev packages url launcher 但我只能使用网络浏览器来实现此目的 为了实现我的目标 我要做什么 要打开本机和 Web
  • 计算输入字符 - 使用 onkeyup 还是 onkeydown?

    我需要为用户设置最大字符输入 类似于 stackoverflow com 的工作方式 我计划使用 javascript 向用户提供反馈并计算字符数 仅允许提交不超过最大字符数的内容 我不打算使用 xhtml 输入属性来限制此数量 因为只要不
  • C# 中带有圆角边框的表单? [复制]

    这个问题在这里已经有答案了 我使用此代码使表单没有边框样式 this FormBorderStyle FormBorderStyle None 我需要在表格上制作圆角边缘 有简单的方法吗 我该怎么做 看看这个 http msdn micro
  • 水豚 & RSpec

    我无法让水豚成功工作 它抱怨说has text是一个未定义的方法 我创建了一个新的 Rails 3 1 项目 rails new test T Gemfile source http rubygems org gem rails 3 1 3
  • 从 Java 调用 PLSQL 过程

    下面是我的Java程序 我正在调用 PLSQL 过程来更新员工姓名 我关闭了 PLSQL 代码中的提交 以便可以从 Java 代码进行提交和回滚 但即使在我关闭自动提交并执行显式回滚之后 表中的详细信息仍然会更新 如何 我不知道 请帮忙 这
  • 我可以在没有特定 NSManagedObjectContext 的情况下创建 NSManagedObject 实例吗?

    我正在构建一个应用程序 它从 Web API 接收大量列表 并允许用户保存一些列表以供离线查看 我通常的做法是 从API获取数据 并为每个数据创建一个新的Listing对象 如果用户选择将对象保存到数据库中 但这是一个核心数据应用程序 因此
  • java中零的情况下的负号

    有没有办法在结果返回零时截断负号 使用十进制格式时 DecimalFormat df new DecimalFormat 0 0 df setRoundingMode RoundingMode HALF UP formattedValue