stringformatjava
A. java string format
可以查閱一下這個方法 的api:
它是String的一個靜態方法,表示用指定的格式去格式化一個字元串,比如你截圖中的String.format("%-15d %-20s $%110.2f ",a1.accNum,a1.custName,a1.balance);
就表示用%-15d格式化a1.accNum。用%-20s格式化a1.custName,%112.2f格式化a1.balance。而d、s、f分別表示double、String、float
B. java裡面使用string.format如何實現空格右填充
java裡面使用string.format實現空格右填充代碼如下:
package cn.com.songjy;
import java.text.NumberFormat;
public class NumberFormatTest {
public static void main(String[] args) {
int i = 1;
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
nf.setMaximumIntegerDigits(4);
nf.setMinimumIntegerDigits(4);
System.out.println(nf.format(i));
}
}
public class TestStringFormat {
public static void main(String[] args) {
int youNumber = 1;
String str = String.format("%04d", youNumber);
System.out.println(str); // 0001
}
}
private static final String STR_FORMAT = "0000";
public static String haoAddOne_2(String liuShuiHao){
Integer intHao = Integer.parseInt(liuShuiHao);
intHao++;
DecimalFormat df = new DecimalFormat(STR_FORMAT);
return df.format(intHao);
}
C. 請問java裡面string.format函數到底怎麼用網上很多回答和博客裡面寫的代碼編譯都通不
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html
public static String format(String format,
Object... args)
Returns a formatted string using the specified format string and arguments.
The locale always used is the one returned by Locale.getDefault().
Parameters:
format - A format string
args - Arguments referenced by the format specifiers in the format string. If there are more arguments than format specifiers, the extra arguments are ignored. The number of arguments is variable and may be zero. The maximum number of arguments is limited by the maximum dimension of a Java array as defined by The Java™ Virtual Machine Specification. The behaviour on a null argument depends on the conversion.
Returns:
A formatted string
Throws:
IllegalFormatException - If a format string contains an illegal syntax, a format specifier that is incompatible with the given arguments, insufficient arguments given the format string, or other illegal conditions. For specification of all possible formatting errors, see the Details section of the formatter class specification.
NullPointerException - If the format is null
D. java string.format問題
我測試了你的代碼,是對齊的,我在MyEclipse
寫的main方法測試的。
public
String
toString(int
code,String
name,double
price,int
inventory)
{
String
declare
=
String.format("%-10d",
code)
+
String.format("%-50s",
name)
+
"£"
+
String.format("%10.2f",
price)
+
String.format("%10d",
inventory);
System.out.println(declare);
return
declare;
}
public
static
void
main(String[]
args)
{
TestT
t
=
new
TestT();
t.toString(1,
"Happy
Snowman",1.8,
1);
t.toString(2,
"Robins
in
the
snow",3.0,1);
t.toString(3,
"Holly
Wreath",2.4,
1);
t.toString(4,
"DecoratedTree",2.0,
1);
}
E. java string.format的問題
哎,你打單引號,不就是字元串了么?當然是這樣了
這樣的啊
String sql = String.format ("insert into 點餐('點餐菜號','點餐桌號','負責員工','點餐時間') values ('%1s','%1s','%1s','%1s')", "x", "y", "z", "d");
System.out.println (sql);
F. java String.format()的問題
看看API文檔你就知道了:
代碼=======================================================
float floatType=1000.00f;
double doubleTyep=11111111111111111.00d;
Date dateType = new Date();
String floatStr = String.format("%a, %e, %f, %g",floatType,floatType,floatType,floatType);
String doubleStr = String.format("%a, %e, %f, %g",doubleTyep,doubleTyep,doubleTyep,doubleTyep);
String dataStr = String.format("%1$tm-%1$te-%1$tY",dateType);
System.out.println(floatStr);
System.out.println(doubleStr);
System.out.println(dataStr);
===============================================================
輸出結果:
0x1.f4p9, 1.000000e+03, 1000.000000, 1000.00
0x1.3bcbf936b38e4p53, 1.111111e+16, 11111111111111112.000000, 1.11111e+16
06-15-2009
其中float類型與double類型的數據,對於String.format()方法來說,
全表示為浮點數,
可使用的格式化參數如:
String.format("%a, %e, %f, %g",floatType,floatType,floatType,floatType);
其中
%a 表示用十六進製表示
%e 表示用科學記數法表示
%f 表示用普通的10進制方式表示
%g 表示根據實際的類型的值的大小,或採用%e的方式,或採用%f的方式
對於日期類型的:
如:
String dataStr = String.format("%1$tm-%1$te-%1$tY",dateType);
其中1$表示如果參數中有多個dateType那麼取哪個dateType中的值,
t表示日期或時間格式,
m表示月,e表示日,Y表示年.
G. java 中 類 String 中的format() (裡面帶兩個參數的方法)誰能幫我詳細解釋一下她的用法
String.format("SELECT * from USER_UPDATE_LOG where 1=1%s", Condition);
就說說要用condition去替換%s
SELECT * from USER_UPDATE_LOG where 1=1 and and USER_STATES=1 and CUSTOMER_ID like '%"+CUSTOMER_ID+"%'";
你這種where 1=1得寫法,看似巧妙,實際很容易受到SQL注入的,不安全。。。
遇事多查API
public static String format(String format,
Object... args)使用指定的格式字元串和參數返回一個格式化字元串。
H. java 怎樣將string 格式化
在java中,將浮點數格式化為string,一般使用DecimalFormat。DecimalFormat的用法示例如下:DecimalFormatdf=newDecimalFormat();doubledata=1234.56789;System.out.println("格式化之前的數字:"+data);Stringstyle="0.0";//定義要顯示的數字的格式df.applyPattern(style);//將格式應用於格式化器System.out.println("採用style:"+style+"格式化之後:"+df.format(data));style="00000.000kg";//在格式後添加諸如單位等字元df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"#"表示如果該位存在字元,則顯示字元,如果不存在,則不顯示。style="##000.000kg";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"-"表示輸出為負數,要放在最前面style="-000.000";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的","在數字中添加逗號,方便讀數字style="-0,000.0#";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"E"表示輸出為指數,"E"之前的字元串是底數的格式,//"E"之後的是字元串是指數的格式style="0.00E000";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"%"表示乘以100並顯示為百分數,要放在最後。style="0.00%";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"\u2030"表示乘以1000並顯示為千分數,要放在最後。style="0.00\u2030";//在構造函數中設置數字格式DecimalFormatdf1=newDecimalFormat(style);//df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df1.format(data));下面是總結:格式化之前的數字:1234.56789採用style:0.0格式化之後:1234.6採用style:00000.000kg格式化之後:01234.568kg採用style:##000.000kg格式化之後:1234.568kg採用style:-000.000格式化之後:-1234.568採用style:-0,000.0#格式化之後:-1,234.57採用style:0.00E000格式化之後:1.23E003採用style:0.00%格式化之後:123456.79%採用style:0.00‰格式化之後:1234567.89‰
I. java 中的String.format問題
format(String, Object[])方法要求的第二個參數是數組,盡管是OBJECT類型的,而你定義了
String name=JOptionPane.showInputDialog("What's your name?");
定義了一個String類型的變數,string 類型的變數,當然不能和匹配原來方法中的數組類型了,所以你該定義一個字元串數組再用這個方法
J. java String.format使用,位不足,從後面補0
String str1="1";
DecimalFormat df=new DecimalFormat("0000");
String str2=df.format(Integer.parseInt(str1));
System.out.println(str2);
例如:
import java.text.*;
class Main
{
public static void main(String[] args)
{
double d=1.23;
DecimalFormat g=new DecimalFormat("0.000000");
System.out.println(g.format(d));
}
}
運行結果1.230000
(10)stringformatjava擴展閱讀:
Java是多線程語言,它提供支持多線程的執行(也稱為輕便過程),能處理不同任務,使具有線索的程序設計很容易。Java的lang包提供一個Thread類,它支持開始線索、運行線索、停止線索和檢查線索狀態的方法。
Java的線索支持也包括一組同步原語。這些原語是基於監督程序和條件變數風范,由C.A.R.Haore開發的廣泛使用的同步化方案。用關鍵詞synchronized,程序員可以說明某些方法在一個類中不能並發地運行。這些方法在監督程序控制之下,確保變數維持在一個一致的狀態。