将double形式的钱格式化为money的形式 (转)

本文介绍了一种使用Java进行金钱格式化的实用方法。通过自定义DecimalFormat实例,可以将double类型的数值转换为符合货币显示标准的字符串格式。该方法能够处理空值及异常情况,并提供了一个具体的例子展示其用法。
将double形式的钱格式化为money的形式 (转)[@more@]

import Java.text.*;
public class UT {
  private final static DecimalFormat nf = new DecimalFormat("###,##0.00");
  public static String formatToMoney(String s) {
  if (s == null || s.equals("")) {
  return "0.00";
  }
  try {
  return formatToMoney(Double.parseDouble(s));
  } catch (Exception e) {
  return s;
  }
  }

  public static String formatToMoney(double d) {
  try {
  return nf.format(d);
  } catch (Exception e) {
  return String.valueOf(d);
  }
  }
  public static void main(String[] args){
  String dd=Client.formatToMoney("12345678990.78987");
  System.out.println(dd);

  }
}


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-956550/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-956550/

### 将 `double` 类型的秒数换为分秒格式的方法 在编程中,将 `double` 类型表示的秒数换为分秒格式(`mm:ss`)是一项常见任务。以下是实现这一功能的详细说明和代码示例。 #### 方法解析 为了将 `double` 类型的秒数换为分秒格式,需要先将秒数分解为分钟和剩余秒数[^1]。具体过程如下: - 使用数学运算提取分钟数:`int minutes = (int) (seconds / 60);` - 提取剩余秒数:`double remainingSeconds = seconds % 60;` - 确保输出格式化为两位数的分钟和秒数,使用 `String.format()` 方法。 #### 示例代码 以下是一个完整的 Java 示例代码,用于将 `double` 类型的秒数换为分秒格式: ```java public class TimeConverter { public static String convertDoubleToMinutesSeconds(double seconds) { int minutes = (int) (seconds / 60); // 计算分钟数 double remainingSeconds = seconds % 60; // 计算剩余秒数 return String.format("%02d:%05.2f", minutes, remainingSeconds); // 格式化为两位数的分钟和带两位小数的秒数 } public static void main(String[] args) { double seconds = 3661.5; // 示例秒数 String timeFormat = convertDoubleToMinutesSeconds(seconds); System.out.println("Time format: " + timeFormat); // 输出格式化后的时间 } } ``` #### 代码解释 - `int minutes = (int) (seconds / 60);`:计算总秒数中有多少完整的分钟。 - `double remainingSeconds = seconds % 60;`:计算总秒数除以60后的余数,即剩余秒数。 - `String.format("%02d:%05.2f", minutes, remainingSeconds);`:将分钟和秒数格式化为两位数的分钟和带两位小数的秒数[^1]。 #### 注意事项 如果需要处理更大的时间单位(如小时),可以通过扩展逻辑来计算小时数、分钟数和秒数,并进一步格式化为 `HH:mm:ss` 的形式。 ```java public class TimeConverterExtended { public static String convertDoubleToHoursMinutesSeconds(double seconds) { int hours = (int) (seconds / 3600); // 计算小时数 seconds %= 3600; // 计算剩余秒数 int minutes = (int) (seconds / 60); // 计算分钟数 double remainingSeconds = seconds % 60; // 计算剩余秒数 return String.format("%02d:%02d:%05.2f", hours, minutes, remainingSeconds); // 格式化为两位数的时分秒 } public static void main(String[] args) { double seconds = 3661.5; // 示例秒数 String timeFormat = convertDoubleToHoursMinutesSeconds(seconds); System.out.println("Time format: " + timeFormat); // 输出格式化后的时间 } } ``` #### 进一步扩展 对于更复杂的时间处理需求,可以使用 Java 内置的 `LocalTime` 和 `Duration` 类[^1],这些类提供了对时间操作的强大支持,适用于更复杂的场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值