android 字体像素转换工具类_android工具类,转换大小写,保留小数点处理方法

import java.text.DecimalFormat;

import java.util.Scanner;

/**

* 金额转换

*

* @author Administrator

*/

public class ConvertMoney {

// 大写数字

private final static String[] STR_NUMBER = {"零", "壹", "贰", "叁", "肆", "伍",

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

// 整数单位

private final static String[] STR_UNIT = {"", "拾", "佰", "仟", "万", "拾", "佰",

"仟", "亿", "拾", "佰", "仟"};

// 小数单位

private final static String[] STR_UNIT2 = {"厘", "分", "角"};

/**

* 程序入口

* @param args

*/

public static void main(String[] args) {

@SuppressWarnings("resource")

Scanner scan = new Scanner(System.in);

System.out.println("请输入金额:");

// 获取金额转换后的字符串

String convert = ConvertMoney.convert(scan.nextDouble());

// 输出转换结果

System.out.println(convert);

}

/**

* 获取整数部分

*

* @param num

* 金额

* @return 金额整数部分

*/

public static String getInteger(String num) {

// 判断是否包含小数点

if (num.indexOf(".") != -1) {

num = num.substring(0, num.indexOf("."));

}

// 反转字符串

num = new StringBuffer(num).reverse().toString();

// 创建一个StringBuffer对象

StringBuffer temp = new StringBuffer();

for (int i = 0; i< num.length(); i++) {// 加入单位

temp.append(STR_UNIT[i]);

temp.append(STR_NUMBER[num.charAt(i) - 48]);

/*

* num.charAt(i)-48获取数值或者使用Integer.pa……

* ASCLL表中0的位置是48,比如得到的字符3,对应ASCLL值 是51,减去48才是这里要的值

*/

}

// 反转字符串

num = temp.reverse().toString();

// 替换字符串的字符

num = numReplace(num, "零拾", "零");

num = numReplace(num, "零佰", "零");

num = numReplace(num, "零仟", "零");

num = numReplace(num, "零万", "万");

num = numReplace(num, "零亿", "亿");

num = numReplace(num, "零零", "零");

num = numReplace(num, "亿万", "亿");

// 如果字符串以零结尾将其除去

if (num.lastIndexOf("零") == num.length() - 1) {

num = num.substring(0, num.length() - 1);

}

return num;

}

/**

* 获取小数部分

*

* @param num

* 金额

* @return 金额的小数部分

*/

public static String getDecimal(String num) {

// 判断是否包含小数点

if (num.indexOf(".") == -1) {

return "";

}

num = num.substring(num.indexOf(".") + 1);

// 反转字符串

num = new StringBuffer(num).reverse().toString();

// 创建一个StringBuffer对象

StringBuffer temp = new StringBuffer();

// 加入单位

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

if (num.length() == 1) {

temp.append(STR_UNIT2[i + 2]);

temp.append(STR_NUMBER[num.charAt(i) - 48]);

} else if (num.length() == 2) {

temp.append(STR_UNIT2[i + 1]);

temp.append(STR_NUMBER[num.charAt(i) - 48]);

} else if (num.length() >= 3) {

temp.append(STR_UNIT2[i]);

temp.append(STR_NUMBER[num.charAt(i) - 48]);

}

}

// 反转字符串

num = temp.reverse().toString();

// 替换字符串的字符

num = numReplace(num, "零角", "零");

num = numReplace(num, "零分", "零");

num = numReplace(num, "零厘", "零");

num = numReplace(num, "零零", "零");

// 如果字符串以零结尾将其除去

if (num.lastIndexOf("零") == num.length() - 1) {

num = num.substring(0, num.length() - 1);

}

return num;

}

/**

* 替换字符串中内容

*

* @param num

* 字符串

* @param oldStr

* 被替换内容

* @param newStr

* 新内容

* @return 替换后的字符串

*/

public static String numReplace(String num, String oldStr, String newStr) {

while (true) {

// 判断字符串中是否包含指定字符

if (num.indexOf(oldStr) == -1) {

break;

}

// 替换字符串

num = num.replaceAll(oldStr, newStr);

}

// 返回替换后的字符串

return num;

}

/**

* 金额转换

*

* @param d

* 金额

* @return 转换成大写的全额

*/

public static String convert(double d) {

// 实例化DecimalFormat对象

DecimalFormat df = new DecimalFormat("#0.###");

// 格式化double数字

String strNum = df.format(d);

// 判断是否包含小数点

if (strNum.indexOf(".") != -1) {

String num = strNum.substring(0, strNum.indexOf("."));

// 整数部分大于12不能转换

if (num.length()> 12) {

System.out.println("数字太大,不能完成转换!");

return "";

}

}

String point = "";// 小数点

if (strNum.indexOf(".") != -1) {

point = "元";

} else {

if (strNum.length() > 12) {

System.out.println("数字太大,不能完成转换!");

return "";

}

point = "元整";

}

// 转换结果

String result = getInteger(strNum) + point + getDecimal(strNum);

if (result.startsWith("元")) { // 判断是字符串是否已"元"结尾

// 截取字符串

result = result.substring(1, result.length());

}

// 返回新的字符串

return result;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 百度地图开发 怎么减小包的大小,最新的百度地图Android开发包中,如何隐藏右下角的放大缩小控件...

2016-02-24 回答// 隐藏缩放控件int childcount mmapview.getchildcount();view zoom null;for (int i 0; i < childcount; i) {view child mmapview.getchildat(i);if (child instanceof zoomcontrols) {zoom child;break;}}zoom.setvisibility(view.gone);// 隐藏比例…

python换源还是不行_浅析Python3 pip换源问题

pip安装源背景#在实际开发中, 可能要大量使用第三方模块(包), 更换至国内下载源, 可大幅提升下载速度"""1、采用国内源&#xff0c;加速下载模块的速度2、常用pip源&#xff1a;-- 豆瓣&#xff1a;https://pypi.douban.com/simple-- 阿里&#xff1a;https://m…

vs2017 cmake android,CMake构建VS2017工程

1 安装VS2017/cmake2 工程开发3 生成VS2017工程4 参考资料1 安装VS2017/cmake软件安装&#xff1a;Visual Studio官网下载Visual Studio Community 2017,该版本是适用于学生、开源和个人开发人员的功能完备的免费IDE。Visual Studio Community 2017还可以免费安装Incredibuild&…

发明导诊机器人团队_潮阳这个医院来了一位智能导诊机器人!

(原标题&#xff1a;大峰医院来了一位智能导诊机器人&#xff0c;镇街卫生院服务配套更完善&#xff0c;我区就医环境变化这么大……)区卫健系统各医疗单位严格按照全国文明城市实地考察场所创建标准&#xff0c;对标对表落实各项措施及制度&#xff0c;就医环境和医疗服务水平…

android是语言吗,android – 内容描述应该是多种语言吗?

你的第一个问题没有完美的答案.但是,由于您正在开发多语言应用程序,我建议您为您关心的语言进行翻译.它可能取决于您的应用程序的目标用户.例如,如果您的目标用户是韩语,那么如果您可以为他们翻译会更好,不是吗&#xff1f;对于第二个问题,如果您的用户使用您未提供的语言,它将…

android按钮变输入框动画,AnimShopButton 仿饿了么加入购物车旋转控件 - 自带闪转腾挪动画 的按钮。自带海量可定制 UI 属性。在 Re @codeKK Android开源站...

A shopping cart button with a telescopic displacement rotation animation ...一个仿饿了么 带伸缩位移旋转动画的购物车按钮注意&#xff0c;本控件非继承自ViewGroup,而是纯自定义 View&#xff0c;实现的仿饿了么加入购物车控件&#xff0c;自带闪转腾挪动画的按钮。图 1…

表格外粗内细怎么设置_金游艇复刻机芯-N厂灰游艇价格 | 复刻表评测

GM厂劳力游艇名仕型系列&#xff0c;官方2019年度机芯搭配全线更新为cal. 3235机芯&#xff0c;同时&#xff0c;在表盘六点位上有劳力皇冠的防伪LOGO。GM厂经历一年&#xff0c;在3135的基础上开发一体出3235机芯&#xff0c;功能与结构等完美还原于正品机芯。而且&#xff0c…

html中输出语句怎么写,javascript怎么输出?

JavaScript怎么输出&#xff1f;输出方式有哪些&#xff1f;下面本篇文章就给大家介绍JavaScript的几种输出方式&#xff0c;希望对大家有所帮助。方法1&#xff1a;使用window.alert()进行输出window.alert()方法用于显示带有一条指定消息和一个【确认】 按钮的警告框。代码示…

cron每2天跑一次_直购直测,进口新极光每2年或34000公里才需要保养一次?

我们选择以第 2 代揽胜极光P200 R-Dynamic S 车型&#xff0c;作为执行 [ 直购直测 ] 单元的第 12 辆车款&#xff0c;而在先前包含购车篇说明选择原因、油耗测试篇带大家一探具备轻油电技术的极光 P200 R-Dynamic S 油耗表现后&#xff0c;本次则是要带大家看看揽胜极光回厂定…

html5的高级选择器,web@css高级选择器(after,befor用法),基本css样式

1.高阶选择器:子代后代&#xff0c;相邻通用兄弟&#xff0c;交集并集&#xff0c;属性&#xff0c;伪类&#xff0c;伪元素子代后代选择器div>p{} div p{}相邻通用兄弟divp{} div~p{}理解&#xff1a;div同学的同桌p div同学的【同学(有p的)】交集并集选择器div,p di…

rrt算法流程图_RRT算法移动机器人路径规划(快速扩展随机树).pdf

( )第 34 卷 第 5期 南京理工大学学报 自然科学版 Vo l. 34 No. 520 10年 10 月 Journal of N anj ing Un iversity of Science and Techno logy (N atu ral Science) O ct. 20 10基于模糊滚动 RRT算法的移动机器人路径规划康  亮 ,赵春霞 ,郭剑辉(南京理工大学 计算机科学与技…

yui3 html属性,YUI Rich Editor + invalidHTML + style

问题I am trying to insert an inline style tag into the editor content. When I call saveHTML it strips out the style block when Im in rich editor view. I have tried changing the style property of invalidHTML to false, but it still seems to strip the style b…

hhkb mac设置_把 HHKB 放在 MacBook 上使用的解决方案

我现在用的是一台 15 寸带 Touch Bar 的 MacBook Pro &#x1f9d1;&#x1f3fb;‍&#x1f4bb;。我一直是把 HHKB 键盘架在 MacBook 键盘 ⌨️ 上面使用的&#xff0c;就像下面这样。HHKB 放在 MacBook 上尺寸刚刚好&#xff0c;缺点就是挡住了 Touch Bar&#xff0c;不过对…

五年一贯制专转本计算机网络真题,金陵科技学院2017年五年一贯制专转本考试大纲(计算机网络基础)...

一、参考书目&#xff1a;《计算机网络技术与应用(第2版)》&#xff0c;段标、张玲主编&#xff0c;电子工业出版社&#xff0c;出版时间&#xff1a;2011年12月。二、考试形式&#xff1a;闭卷&#xff0c;考试时间90分钟三、考试内容和要求(一)考试要求1.计算机网络理论知识●…

带电检测必要性_接地电阻检测分析的必要性

无论是为保障电力系统正常运行所需要设置的接地&#xff0c;如三相系统的中性点接地等&#xff1b;还是为了人身安全将电气设备的金属外壳等接地&#xff0c;保证金属外壳固定为地电位&#xff0c;一旦设备绝缘损坏使外壳带电时不致产生危险的电位升高&#xff0c;引起工作人员…

html中basefont标签,HTML的basefont标签

HTML 标签只有 Internet Explorer 支持 标签。应该避免使用该标签。定义和用法 ( 推荐学习&#xff1a;html教程 )标签定义基准字体。该标签可以为文档中的所有文本定义默认字体颜色、字体大小和字体系列。HTML 与 XHTML 之间的差异在 HTML 4.01 中&#xff0c;不赞成使用 ba…

python隐式等待_selenium中隐式等待和显示等待的区别

Selenium显示等待和隐式等待的区别1、selenium的显示等待原理&#xff1a;显示等待&#xff0c;就是明确的要等到某个元素的出现或者是某个元素的可点击等条件&#xff0c;等不到&#xff0c;就一直等&#xff0c;除非在规定的时间之内都没找到&#xff0c;那么久跳出Exception…

中山大学计算机类专业分数线,中山大学计算机类专业2016年在广东理科高考录取最低分数线...

类似问题答案中山大学计算机类专业2016年在天津理科高考录取最低分数线学校 地 区 专业 年份 批次 类型 分数 中山大学 天津 计算机类 2016 一批 理科 629 学校 地 区 专业 年份 批次 类型 分数 中山大学 天津 计算机类 2016 一批 理科 629 中山大学 天津 计算机类 2015 一批 理…

hbase 按时刻查询_Hbase查询工具类,根据时间查询数据

1&#xff0c;需求&#xff1a;已知空气监测数据在hbase中存储&#xff0c;要求按照时间&#xff0c;查询citycode为110000(北京)一个月的数据&#xff0c;数据为每日的监测数据ID ,CITYCODE,SO2 ,CO,NO2 ,O3, PM10,PM2_5,AQI,MEASURE, TIMEPOINT13110000020141120, 110000,31…

17计算机应用,计算机应用基础17129.ppt

计算机应用基础17129.ppt计算机应用基础课件 第一章 计算机基础知识 1946年第一台数字电子计算机ENIAC诞生在美国。 1、电子计算机发展四个阶段&#xff1a; 第一代特征&#xff1a;用电子馆作为主要电子元器件 第二代特征&#xff1a;以晶体管作为主要电子元器件 第三代特征&a…