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,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。