Topic: 请问怎样把int转为string型,谢谢! |
Print this page |
1.请问怎样把int转为string型,谢谢! | Copy to clipboard |
Posted by: renaldo Posted on: 2004-09-02 13:16 要求string 为四位数,左边空白的补满零。 例如: int i=1 ====> string s="0001" int i=101 ====> string s="0101" |
2.Re:请问怎样把int转为string型,谢谢! [Re: renaldo] | Copy to clipboard |
Posted by: bluedest Posted on: 2004-09-02 14:03 1.先判断原int 数的长短length, 2.左补齐(4-length)个0 3.在右边用Integer.toString(int)补齐就ok了 |
3.Re:请问怎样把int转为string型,谢谢! [Re: renaldo] | Copy to clipboard |
Posted by: yung Posted on: 2004-09-02 14:13 public class Test { public static String zeros = "0000000000000000"; public static String int2str (int in){ String ins = Integer.toString(in); int len = ins.length(); if(len >= 4) return ins; else return zeros.substring(4-len) + ins; } public static void main(String[] args) { for(int i=0; i<9999; i=i*2){ System.out.println(int2str(12)); } } } |
4.Re:请问怎样把int转为string型,谢谢! [Re: renaldo] | Copy to clipboard |
Posted by: renaldo Posted on: 2004-09-02 14:59 哦,谢谢。 看来只能自己写了。 我原以为有现成的函数的。 |
5.Re:请问怎样把int转为string型,谢谢! [Re: renaldo] | Copy to clipboard |
Posted by: m00nsun Posted on: 2004-09-02 16:30 /*========================================= * Created :wbb * 2004-09-02 * 要求string 为六位数,左边空白的补满零。 * 例如: ** int i=1 ====> string s="000001" * int i=101 ====> string s="000101" *========================================*/ import java.awt.*; import java.applet.*; public class CodeId extends Applet{ TextField t = new TextField(10); Button b1 = new Button("转换成编号"); TextField idt = new TextField(10); String s = ""; public void init(){ add; add(b1); add(idt); } public boolean action(Event evt, Object arg){ s = t.getText(); if (s.length() < 6){ for(int i = s.length(); i < 6; i++){ s = "0" + s; } } if (evt.target.equals(b1)){ idt.setText; } else{ return super.action(evt, arg); } return true; } } //<applet code = CodeId.class width = 100 height = 100></applet> |
6.Re:请问怎样把int转为string型,谢谢! [Re: renaldo] | Copy to clipboard |
Posted by: rebirth Posted on: 2004-09-02 17:19 可以试试这个函数。 /** * 左边填0函数 * @param str 处理字符串 * @param count 返回的字符串长度 * @return */ public static String FullZeroToLeft(String str, int count) { int len = str.length(); String str1 = ""; for (int i = 0; i < count - len; i++) { String str2 = str1.concat("0"); str1 = str2; } String retStr = str1.concat(str); return retStr; } |
7.Re:请问怎样把int转为string型,谢谢! [Re: yung] | Copy to clipboard |
Posted by: yung Posted on: 2004-09-02 18:18 yung wrote: 这个速度最快的 |
8.Re:请问怎样把int转为string型,谢谢! [Re: renaldo] | Copy to clipboard |
Posted by: Biubiu Posted on: 2004-09-02 18:59 看到你们这么糟蹋Java,我是在是受不了了!
|
9.Re:请问怎样把int转为string型,谢谢! [Re: renaldo] | Copy to clipboard |
Posted by: href Posted on: 2004-09-03 10:09 学到了,真的很少关注java.text包,疏忽了。 |
10.Re:请问怎样把int转为string型,谢谢! [Re: renaldo] | Copy to clipboard |
Posted by: renaldo Posted on: 2004-09-03 11:31 谢谢 Biubiu 你的解答就是我想要得! |
11.Re:请问怎样把int转为string型,谢谢! [Re: Biubiu] | Copy to clipboard |
Posted by: why Posted on: 2004-09-04 03:42 Biubiu wrote: 痛快! 虽然敝人不是J2SE版的版主,但也得越俎代庖,打一分。 希望Biubiu元老多点受不了,指点後进! |
12.Re:请问怎样把int转为string型,谢谢! [Re: Biubiu] | Copy to clipboard |
Posted by: yung Posted on: 2004-09-04 15:25 Biubiu wrote: 为什么说糟踏 java 呢?如果用你的方法写报表软件,就知道速度高下了。难道说使用 java API 就一定是好程序吗? 不见得吧,有很多 API 堪称垃圾吆。 |
13.Re:请问怎样把int转为string型,谢谢! [Re: yung] | Copy to clipboard |
Posted by: why Posted on: 2004-09-04 18:59 yung wrote: 也许用阁下的方法会比可能没有optimized的Text API快两三倍甚至十倍,但“后遗症”不少。 例如……阁下说到写报表软件,就说现在格“转换格式改为"0,000,000,000",怎样办呢? 开发成本如何呢? 用 Java API 不一定是好程序,但差不多可以肯定是较易开发维护的程序。 噫──最近敝人废话实在太多了。 |
14.Re:请问怎样把int转为string型,谢谢! [Re: renaldo] | Copy to clipboard |
Posted by: why Posted on: 2004-09-04 22:56 敝人不务正业,看看 int2str 有多快。 简单的测试是 DecimalFormat 的三倍左右。 不过用了 substring 自然会慢,果然,0位越多,速度越接近,处理八个0 ("00000000") 时不到 DF 的 1.4倍。 又,用 StringBuffer 改写 rebirth 的 fillZeroToLeft 会比 int2str 快。 public static String zeros = "0000000000000000"; 这样编程,或许未至糟蹋Java,但依敝人愚见:绝不可取。 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |