簡體   English   中英

在C中將int分為2部分

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM