[英]Split int into 2 parts in C
我希望用戶輸入一個7位數的整數,這已經完成了。
我的Int值有7位數字,我想在第3位數字后添加連字符(將其轉換為電話號碼格式)
我要執行此操作的方式是讓系統創建一個新的Int,它等於初始Int的前3位,然后是第二個Int,它等於后4位。 然后在連字符之間使用連字符
int phoneNumber;
scanf
phoneNumber = 1234567
int 1pNum = 123
int 2pNum = 4567
printf(1pNum + "-" + 2pNum)
別擔心,我知道我解釋的格式將無法正常使用,我只想知道如何拆分
#include <stdio.h>
int main(void)
{
int phoneNumber = 1234567;
int p1 = phoneNumber / 10000;
int p2 = phoneNumber % 10000;
printf("OK: %03d-%04d\n", p1, p2);
// OK: 123-4567
return 0;
}
解決此問題的干凈代碼是將其轉換為字符串,並在第4個字符中插入連字符。 假設您正在使用c:第一部分是從int到字符串,您可以使用類似( http://www.cplusplus.com/articles/D9j2Nwbp/ )的代碼
template <typename T>
string NumberToString ( T Number )
{
ostringstream ss;
ss << Number;
return ss.str();
}
對於第二部分,您可以使用.insert,例如:
strNumber.insert(4, "-");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.