Java C# C語言中的占位符
一般拼接一段字符串在編程中是很常見的事,下面簡單做個總結:
什麼是占位符?占位符就是先占住一個固定的位置,等著你再往裡面添加內容的符號.
1.Java中處理方法:
復制代碼
package com.amos;
import java.text.MessageFormat;
/**
* Created by amosli on 14-7-24.
*/
public class Test {
public static void main(String args[]) {
//拼接一段string 常用的方法
String name="amosli";
//方法1:
String result = "hello,"+name;
System.out.println(result);//hello,amosli
//方法2:
result = "hello,".concat(name);
System.out.println(result);//hello,amosli
//方法3:
result = String.format("%d%s", 200, "元");
System.out.println(result);//200元
//方法4:
result = MessageFormat.format("hi,{0},I am {1}", "Jack", "Amosli");
System.out.println(result);//hi,Jack,I am Amosli
}
}
復制代碼
注:
方法一應該是使用的最多的,直接使用+號連接符;
方法二使用String類的一個方法concat()方法進行連接,跟+號很類似;
方法三.四使用的是占位符,方法三中用的是String.format()方法,需要注意的是表示需要替換的內容一般字符串要用%s,數字一般用%d進行表示.
方法四中直接用{n},其中n為數字表示參數的順序,這個和C#中的非常類似.
2.C#中的占位符
static void Main()
{
string c="hello,amosli";
string m=String.Format(“{0}”,c); //字符串格式輸出
Console.WriteLine(m); //hello,amosli
}
復制代碼
下面給大家介紹幾個常用的格式化標識符:
字母 含義
C或c Currency 貨幣格式
D或d Decimal 十進制格式(十進制整數,不要和.Net的Decimal數據類型混淆了)
E或e Exponent 指數格式
F或f Fixed point 固定精度格式
G或g General 常用格式
N或n 用逗號分割千位的數字,比如1234將會被變成1,234
P或p Percentage 百分符號格式
R或r Round-trip 圓整(只用於浮點數)保證一個數字被轉化成字符串以後可以再被轉回成同樣的數字
X或x Hex 16進制格式
示例如下(見cs_6.cs)
static void Main()
{
int i=12345;
Console.WriteLine("{0:C}",i); //貨幣
Console.WriteLine("{0:D}",i); //十進制數
Console.WriteLine("{0:E}",i); //科學技術法
Console.WriteLine("{0:F}",i); // 浮點數表示法
Console.WriteLine("{0:G}",i); //G或g General 常用格式
Console.WriteLine("{0:N}",i); //N或n 用逗號分割千位的數字
}
復制代碼
注:如果您使用@符號.他會忽略所有的轉義.也就是{1}什麼的就是{1}而不是標識占位符了,這裡需要注意.即"@{1}"這種類型將不被識別為占位符.
3.C中的占位符
復制代碼
C語言中的格式占位符:
%a,%A 讀入一個浮點值(僅C99有效)
%c 讀入一個字符
%d 讀入十進制整數
%i 讀入十進制,八進制,十六進制整數
%o 讀入八進制整數
%x,%X 讀入十六進制整數
%s 讀入一個字符串,遇空格、制表符或換行符結束。
%f,%F,%e,%E,%g,%G 用來輸入實數,可以用小數形式或指數形式輸入。
%p 讀入一個指針
%u 讀入一個無符號十進制整數
%n 至此已讀入值的等價字符數
%[] 掃描字符集合
%% 讀%符號
格式輸入輸出示例
scanf("%d,%d,%d",&a,&b,&c); // 從鍵盤輸入三個整數,用逗號分隔
scanf("%c", &s); //從鍵盤輸入一個字符
scanf("%f", &f); //從鍵盤輸入一個浮點型數據
printf("%d\n",a); //輸出一個整數
printf("%f\n",b); //輸出一個浮點數
printf("%s\n",c); //輸出一個字符
復制代碼
基本可以看出來三者非常像,Java和C#基本還是抄C語言的.