在C中将int分为2部分

时间:2018-09-12 21:42:40

标签: c

我希望用户输入一个7位数的整数,这已经完成了。

我的Int值有7位数字,我想在第3位数字后添加连字符(将其转换为电话号码格式)

我要执行此操作的方法是让系统创建一个新的Int,它等效于初始Int的前3位,然后再创建第二个Int,其等效于后4位。然后使用连字符之间的连字符

int phoneNumber;

scanf

phoneNumber = 1234567

int 1pNum = 123

int 2pNum = 4567

printf(1pNum + "-" + 2pNum)

别担心,我知道我解释的格式不能完全起作用,我只想知道如何分割它

2 个答案:

答案 0 :(得分:1)

#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;
}

答案 1 :(得分: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, "-");