精华内容
下载资源
问答
  • public static void main(String[] args) {SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");String beforedate=sdf.format(new ...System.out.println("转换之前:"+beforedate);String enddate=dataToUpp...

    public static void main(String[] args) {

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

    String beforedate=sdf.format(new Date());

    System.out.println("转换之前:"+beforedate);

    String enddate=dataToUpper(beforedate);

    System.out.println("转换之后:"+enddate);

    }

    // 日期转化为大小写

    public static String dataToUpper(String dateString) {

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

    Date dateTime = null;

    try {

    dateTime = simpleDateFormat.parse(dateString);

    } catch (ParseException e) {

    e.printStackTrace();

    }

    Calendar ca = Calendar.getInstance();

    ca.setTime(dateTime);

    int year = ca.get(Calendar.YEAR);

    int month = ca.get(Calendar.MONTH) + 1;

    int day = ca.get(Calendar.DAY_OF_MONTH);

    return numToUpper(year) + "年" + monthToUppder(month) + "月" + dayToUppder(day) + "日";

    }

    // 将数字转化为大写(字体格式可自己定义)

    public static String numToUpper(int num) {

    //String u[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};

    String u[] = {"零","一","二","三","四","五","六","七","八","九"};

    char[] str = String.valueOf(num).toCharArray();

    String rstr = "";

    for (int i = 0; i < str.length; i++) {

    rstr = rstr + u[Integer.parseInt(str[i] + "")];

    }

    return rstr;

    }

    // 月转化为大写

    public static String monthToUppder(int month) {

    if(month < 10) {

    return numToUpper(month);

    } else if(month == 10){

    return "十";

    } else {

    return "十" + numToUpper(month - 10);

    }

    }

    // 日转化为大写

    public static String dayToUppder(int day) {

    if(day < 20) {

    return monthToUppder(day);

    } else {

    char[] str = String.valueOf(day).toCharArray();

    if(str[1] == '0') {

    return numToUpper(Integer.parseInt(str[0] + "")) + "十";

    }else {

    return numToUpper(Integer.parseInt(str[0] + "")) + "十" + numToUpper(Integer.parseInt(str[1] + ""));

    }

    }

    }

    展开全文
  • http://wallimn.iteye.com/admin/blogs/365769public class MoneyUtil {private final static String[] CN_Digits = { "零", "壹", "貳", "叁", "肆.../*** 将数字型货币转换为中文型货币 * 作者:wallimn 时间:20...

    http://wallimn.iteye.com/admin/blogs/365769

    public class MoneyUtil {

    private final static String[] CN_Digits = { "零", "壹", "貳", "叁", "肆", "伍",

    "陆", "柒", "捌", "玖", };

    /**

    * 将数字型货币转换为中文型货币

    * 作者:wallimn 时间:2009-4-10 下午09:59:26

    * 博客:http://blog.csdn.net/wallimn

    * 参数:

    *

    * @param moneyValue

    *  字符串形式的金额,小数部分,将多于3位部分舍去,不做四舍五入

    * @return

    */

    public static String CNValueOf(String moneyValue) {

    //使用正则表达式,去除前面的零及数字中的逗号

    String value = moneyValue.replaceFirst("^0+", "");

    value = value.replaceAll(",", "");

    //分割小数部分与整数部分

    int dot_pos = value.indexOf('.');

    String int_value;

    String fraction_value;

    if (dot_pos == -1) {

    int_value = value;

    fraction_value = "00";

    } else {

    int_value = value.substring(0, dot_pos);

    fraction_value = value.substring(dot_pos + 1, value.length())

    + "00".substring(0, 2);//也加两个0,便于后面统一处理

    }

    int len = int_value.length();

    if (len>16) return "值过大";

    StringBuffer cn_currency = new StringBuffer();

    String[] CN_Carry = new String[] { "", "万", "亿", "万" };

    //数字分组处理,计数组数

    int cnt = len/4+(len%4==0?0:1);

    //左边第一组的长度

    int partLen = len-(cnt-1)*4;

    String partValue=null;

    boolean bZero=false;//有过零

    String curCN=null;

    for(int i =0; i

    partValue = int_value.substring(0,partLen);

    int_value=int_value.substring(partLen);

    curCN = Part2CN(partValue,i!=0&&!"零".equals(curCN));

    //System.out.println(partValue+":"+curCN);

    //若上次为零,这次不为零,则加入零

    if(bZero && !"零".equals(curCN)){

    cn_currency.append("零");

    bZero=false;

    }

    if("零".equals(curCN))bZero=true;

    //若数字不是零,加入中文数字及单位

    if(!"零".equals(curCN)){

    cn_currency.append(curCN);

    cn_currency.append(CN_Carry[cnt-1-i]);

    }

    //除最左边一组长度不定外,其它长度都为4

    partLen=4;

    partValue=null;

    }

    cn_currency.append("元");

    //处理小数部分

    int fv1 = Integer.parseInt(fraction_value.substring(0,1));

    int fv2 = Integer.parseInt(fraction_value.substring(1,2));

    if(fv1+fv2==0){

    cn_currency.append("整");

    }

    else{

    cn_currency.append(CN_Digits[fv1]).append("角");

    cn_currency.append(CN_Digits[fv2]).append("分");

    }

    return cn_currency.toString();

    }

    /**

    * 将一组数字(不多于四个)转化成中文表示

    * 作者:wallimn 时间:2009-4-11 下午07:41:25

    * 博客:http://wallimn.iteye.com

    * 参数:

    *

    * @param partValue 字符串形式的数字

    * @param bInsertZero 是否在前面添加零

    * @return

    */

    private static String Part2CN(String partValue,boolean bInsertZero) {

    //使用正则表达式,去除前面的0

    partValue = partValue.replaceFirst("^0+", "");

    int len = partValue.length();

    if (len == 0)

    return "零";

    StringBuffer sbResult = new StringBuffer();

    int digit;

    String[] CN_Carry = new String[] { "", "拾", "佰", "仟" };

    for (int i = 0; i < len; i++) {

    digit = Integer.parseInt(partValue.substring(i, i + 1));

    if (digit != 0) {

    sbResult.append(CN_Digits[digit]);

    sbResult.append(CN_Carry[len - 1 - i]);

    } else {

    // 若不是最后一位,且下不位不为零,追加零

    if (i != len - 1

    && Integer.parseInt(partValue.substring(i + 1, i + 2)) != 0)

    sbResult.append("零");

    }

    }

    if(bInsertZero && len!=4)sbResult.insert(0, "零");

    return sbResult.toString();

    }

    }

    /***********本人原创,欢迎转载,转载请保留本人信息*************/

    作者:wallimn 电邮:wallimn@sohu.com 时间:2009-04-11

    博客:http://wallimn.iteye.com

    http://blog.csdn.net/wallimn

    网络硬盘:http://wallimn.ys168.com

    /***********文章发表请与本人联系,作者保留所有权利*************/

    7

    0

    分享到:

    18e900b8666ce6f233d25ec02f95ee59.png

    72dd548719f0ace4d5f9bca64e1d7715.png

    2009-04-11 23:17

    浏览 7672

    分类:非技术

    评论

    4 楼

    尹鹏波

    2011-09-22

    谢谢lz了,lz辛苦了

    3 楼

    zhangskills

    2010-02-07

    呵呵,我也写过一个类似的,可以支持long类型的转换

    2 楼

    wallimn

    2010-01-30

    呵呵,我处理的数据没有那么大的。

    1 楼

    mpl398235717

    2010-01-30

    你这个值不准,你测试一下2万亿 晕死

    展开全文
  • 前段时间在javaeye上看到一篇关于将数字转换成中文金额大写文章:[url=http://www.iteye.com/topic/203097]将数字转换成中文金额大写形式(Java版)[/url],写得很不错,我也来写一个,我觉得这个算法比其更简单有效...
    前段时间在javaeye上看到一篇关于将数字转换成中文金额大写文章:[url=http://www.iteye.com/topic/203097]将数字转换成中文金额大写形式(Java版)[/url],写得很不错,我也来写一个,我觉得这个算法比其更简单有效。闲话少说,大家看代码吧,代码很简单。
    import java.util.Scanner;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    public class CurrencyConverter {

    private static final double MAXIMUM_NUMBER = 9999999999999.99d;

    private static final String CN_ZERO = "零";
    private static final String CN_SYMBOL = "¥:";
    private static final String CN_DOLLAR = "圆";
    private static final String CN_INTEGER = "整";

    private static final String[] digits = new String[] { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
    private static final String[] radices = new String[] { "", "拾", "佰", "仟" };
    private static final String[] bigRadices = new String[] { "", "万", "亿", "万" };
    private static final String[] decimals = new String[] { "角", "分" };

    public static void main(String[] args) {

    // 键盘输入数字
    String currencyDigits = input();
    // 检查数字合法性
    if (check(currencyDigits)) {
    //转换大写并输出
    System.out.println(convert(currencyDigits));
    }
    }

    /**
    * 转换大写
    *
    * @param currencyDigits
    * @return
    */
    public static String convert(String currencyDigits) {

    String integral = null; // 整数部分
    String decimal = null; // 小数部分
    String outputCharacters = null; // 最终转换输出结果

    String d = null;
    int zeroCount = 0, p = 0, quotient = 0, modulus = 0;

    // 删除数字中的逗号,
    currencyDigits = currencyDigits.replace("/,/g", "");
    // 删除数字左边的0
    currencyDigits = currencyDigits.replace("/^0+/", "");

    // 拆分数字中的整数与小数部分
    String[] parts = currencyDigits.split("\\.");
    if (parts.length > 1) {
    integral = parts[0];
    decimal = parts[1];

    // 如果小数部分长度大于2,四舍五入,保留两位小数
    if (decimal.length() > 2) {
    long dd = Math.round(Double.parseDouble("0."+decimal) * 100) ;
    decimal = Long.toString(dd);
    }

    } else {
    integral = parts[0];
    decimal = "0";
    }

    // Start processing:
    outputCharacters = "";
    // Process integral part if it is larger than 0:
    if (Double.parseDouble(integral) > 0) {

    zeroCount = 0;

    for (int i = 0; i < integral.length(); i++) {

    p = integral.length() - i - 1;
    d = integral.substring(i, i + 1);

    quotient = p / 4;
    modulus = p % 4;
    if (d.equals("0")) {
    zeroCount++;
    } else {
    if (zeroCount > 0) {
    outputCharacters += digits[0];
    }
    zeroCount = 0;
    outputCharacters += digits[Integer.parseInt(d)] + radices[modulus];
    }
    if (modulus == 0 && zeroCount < 4) {
    outputCharacters += bigRadices[quotient];
    }
    }
    outputCharacters += CN_DOLLAR;
    }

    // Process decimal part if it is larger than 0:
    if (Double.parseDouble(decimal) > 0) {
    for (int i = 0; i < decimal.length(); i++) {
    d = decimal.substring(i, i + 1);
    if (!d.equals("0")) {
    outputCharacters += digits[Integer.parseInt(d)] + decimals[i];
    } else {
    if (i == 0) {
    outputCharacters += CN_ZERO;
    }
    }
    }
    }

    // Confirm and return the final output string:
    if (outputCharacters.equals("")) {
    outputCharacters = CN_ZERO + CN_DOLLAR;
    }
    if (decimal == null || decimal.equals("0")) {
    outputCharacters += CN_INTEGER;
    }

    outputCharacters = CN_SYMBOL + outputCharacters;
    return outputCharacters;
    }

    /**
    * 从键盘输入要转换的数字
    *
    * @return
    */
    private static String input() {

    System.out.println("请输入一个数字(精确到小数点后两位):");
    Scanner scanner = new Scanner(System.in);
    String currencyDigits = scanner.next();
    scanner.close();
    return currencyDigits;
    }

    /**
    * 检查输入数字的合法性
    *
    * @param currencyDigits
    * @return
    */
    private static boolean check(final String currencyDigits) {
    if (currencyDigits == null || currencyDigits.trim().equals("")) {
    System.out.println("没有输入要转换的数字");
    return false;
    }

    Pattern pattern = Pattern.compile("/[^,.\\d]/", Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(currencyDigits);

    if (matcher.find()) {
    System.out.println("数字中含有非法字符!");
    return false;
    }

    pattern = Pattern.compile("/^((\\d{1,3}(,\\d{3})*(.((\\d{3},)*\\d{1,3}))?)|(\\d+(.\\d+)?))$/",
    Pattern.CASE_INSENSITIVE);
    matcher = pattern.matcher(currencyDigits);
    if (matcher.find()) {
    System.out.println("错误的数字格式!");
    return false;
    }

    if (Double.parseDouble(currencyDigits) > MAXIMUM_NUMBER) {
    System.out.println("超出转换最大范围!");
    return false;
    }

    return true;
    }
    }
    展开全文
  • java将小写的日期转换大写的日期

    千次阅读 2016-06-27 21:57:50
    我发现有时候写博客都是因为ask提问。既然给人回答了,就顺便再写上博客吧。 时间有限,只能先写这样了。 package littlehow;...public class ChangeDate { public final static ... * 根据小写数字格式的日期转换

    我发现有时候写博客都是因为ask提问。既然给人回答了,就顺便再写上博客吧。

     

    时间有限,只能先写成这样了。

     

    package littlehow;
    
    /**
     * DateUpperChange
     *
     * @author littlehow
     * @time 2016-06-27 09:08
     */
    public class DateUpperChange {
        public final static char[] upper = "零一二三四五六七八九十".toCharArray();
    
        /**
         * 根据小写数字格式的日期转换成大写格式的日期
         * @param date
         * @return
         */
        public static String getUpperDate(String date) {
            //支持yyyy-MM-dd、yyyy/MM/dd、yyyyMMdd等格式
            if(date == null) return null;
            //非数字的都去掉
            date = date.replaceAll("\\D", "");
            if(date.length() != 8) return null;
            StringBuilder sb = new StringBuilder();
            for (int i=0;i<4;i++) {//年
                sb.append(upper[Integer.parseInt(date.substring(i, i+1))]);
            }
            sb.append("年");//拼接年
            int month = Integer.parseInt(date.substring(4, 6));
            if(month <= 10) {
                sb.append(upper[month]);
            } else {
                sb.append("十").append(upper[month%10]);
            }
            sb.append("月");//拼接月
    
            int day = Integer.parseInt(date.substring(6));
            if (day <= 10) {
                sb.append(upper[day]);
            } else if(day < 20) {
                sb.append("十").append(upper[day % 10]);
            } else {
                sb.append(upper[day / 10]).append("十");
                int tmp = day % 10;
                if (tmp != 0) sb.append(upper[tmp]);
            }
            sb.append("日");//拼接日
            return sb.toString();
        }
    
        public static void main(String[] args) {
            System.out.println(getUpperDate("2016-06-28"));
        }
    }

     

     

     

     

    展开全文
  • Java开发技术大全(500个源代码).

    热门讨论 2012-12-02 19:55:48
    lowToUpper.java 小写字母转换成大写字母 lozengeStar.java 输出一个由*组成的菱形 multiplyTable.java 求乘法口诀表 narrowingConversion_1.java 缩减转换引发错误示例1 narrowingConversion_2.java 缩减转换...
  • 今天有个学弟问的题,好像是今年7月份那场蓝桥杯B组省...对于每一个大写字母,小明转换成它在 26 个英文字母中序号,即 A → 1, B → 2, ... Z →26。 这样一个字符串就能被转化成一个数字序列: 比如 ABCXYZ →
  • 试题 基础练习 十六进制转十进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述  从键盘输入一个不超过8位的正的十六进制数字...对于本题 和上题十六进制转换成十进制一样暴力 也是Integer里的方法。 Intege...
  • Java经典编程300例(code)

    千次下载 热门讨论 2013-01-09 10:26:53
    实例091 字符串转换成整数 139 实例092 整数进制转换器 140 实例093 获取字符串中汉字的个数 141 实例094 批量替换某一类字符串 142 实例095 查看数字的取值范围 144 实例096 ASCII编码查看器 145 实例097 判断...
  • 十六进制数转换成十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前没有多余的0 输出 输出共T行,每一行是一组数据的十...
  • 十六进制数转换成十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前没有多余的0 输出 输出共T行,每一行是一组...
  • 实例093 字符串转换成整数 实例094 整数进制转换器 实例095 查看数字的取值范围 实例096 ASCII编码查看器 实例097 Double类型的比较 5.4 面向对象的特征 实例098 经理与员工的差异 实例099 重写父类中的...
  • 实例093 字符串转换成整数 实例094 整数进制转换器 实例095 查看数字的取值范围 实例096 ASCII编码查看器 实例097 Double类型的比较 5.4 面向对象的特征 实例098 经理与员工的差异 实例099 重写父类中的...
  • 实例093 字符串转换成整数 114 实例094 整数进制转换器 115 实例095 查看数字的取值范围 116 实例096 ASCII编码查看器 117 实例097 Double类型的比较 118 5.4 面向对象的特征 119 实例098 经理与员工的差异 119 ...
  • 实例093 字符串转换成整数 114 实例094 整数进制转换器 115 实例095 查看数字的取值范围 116 实例096 ASCII编码查看器 117 实例097 Double类型的比较 118 5.4 面向对象的特征 119 实例098 经理与员工的差异 119 ...
  • 实例125 小写金额转换成大写金额 实例126 转换输入文本中的回车和空格 实例127 计算字符串的实际长度 实例128 字符串截取 实例129 字符串转换成数组 实例130 数组转换为字符串 实例131 整型值转换为字符串 ...
  • toString : 给定的数组转换成字符串 Assets目录数据库相关 -> AssetDatabaseOpenHelper.java            回到目录 getWriteableDatabase : 创建或打开一个数据库 getReadableDatabase : ...
  • ASP200问.EXE

    2010-05-20 13:25:08
    142.如何RGB值转换成十六进制值 第9章 使用XML 143.如何创建和显示一个XML文档(示例一) 143.如何创建和显示一个XML文档(示例二) 143.如何创建和显示一个XML文档(示例三) 144.如何在ASP环境下应用XML 145....
  • 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...
  • 2009达内SQL学习笔记

    2010-02-10 19:46:58
    提倡关键字大写,便于阅读和调式。 “!”在SQL环境下执行Unix命令。 SQL语句是由简单的英语单词构成;这些英语单词称为关键字/保留字,不做它用。SQL由多个关键字构成。 SQL语句由子句构成,有些子句是必须的,...
  • 3.5.6 多个集合合并没有交集的集合。 3.5.7 平面内有11个点,由它们连成48条不同的直线,由这些点可连成多少个三角形? 腾讯篇 Java基础 4.1.0 JAVA中的几种基本数据类型是什么,各自占用多少字节。 ...
  • 正则表达式

    2014-12-03 14:51:39
    尾部的数字,那么如果我们模式的数字部分放在括号中 (/ [a-z] + (\d+)/) ,我们就可以从所检索到的任何匹配中抽取数字了,之后我们会对此进行解析的. 代括号的子表达式的另一个用途是,允许我们在同一正则表达式的...
  • 在一小时内学会 C#(txt版本)

    热门讨论 2009-08-19 18:09:37
    如果你已经知晓 C++ 语言,本文在不到一小时的时间内带你快速浏览 C# 的语法。如果熟悉 Java 语言,Java 的编程结构、打包和垃圾回收的概念肯定对你快速学习 C# 大有帮助。所以我在讨论 C# 语言构造的时候会假设你...
  • windows 程序设计

    2011-07-24 21:16:30
    连结程序使用该信息在.EXE文件中建立一个表格,在加载程序时,Windows使用它呼叫转换为Windows函数。 WINDOWS程序设计选项 为说明Windows程序设计的多种技术,本书提供了许多范例程序。这些程序使用C语言撰写并...
  • ✅ 微信公众号 Markdown 编辑器:一款可以 Markdown 转换为微信公众号文章的在线编辑器 2019年10月13号添加 zerosoul - Github ✅ 中国古典颜色手册:一个中国古典颜色的在线网站 2019年10月9号添加 ...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

java将时间转换成大写数字

java 订阅