c - 将它们转换为字符串时如何处理负整数?
问题描述
我需要将整数转换为字符串,无论是负数还是正数。到目前为止,我能够使用以下代码将正整数转换为字符串。但不是负面的。我怎样才能正确处理它们以将它们转换为字符串。这是我正在使用的代码。
谢谢
拉贾特!
/*
* C Program which Converts an Integer to String & vice-versa
*/
#include <stdio.h>
#include <string.h>
#include <math.h>
void tostring(char [], int);
int main()
{
char str[10];
int num, result;
printf("Enter a number: ");
scanf("%d", &num);
tostring(str, num);
printf("Number converted to string: %s\n", str);
return 0;
}
void tostring(char str[], int num)
{
int i, rem, len = 0, n;
if(num<0)
{
n=(-1)*(num);
}
else
{
n=num;
}
while (n != 0)
{
len++;
n /= 10;
}
for (i = 0; i < len; i++)
{
rem = num % 10;
num = num / 10;
str[len - (i + 1)] = rem + '0';
}
str[len] = '\0';
}
解决方案
在做任何其他事情之前,看看是否n
为负。如果是,则以符号开始输出-
(确保len
也比其他情况多一个,并且您的字符串化稍后开始一个字符),n
确定,并像以前一样继续。
推荐阅读
- sql - 使用函数和过程配置 sql 包时出错
- javascript - jQuery - 选中复选框时隐藏/显示 div
- c# - LINQ DB 列表包含对象
- angular - 如何为 Angular 6 应用程序启用 CSS 源映射?
- swift - 电子邮件验证器 RxSwift?
- python - 附加到 python dict 时生成属性错误
- django - django Restframework_覆盖rest_auth LoginView
- c# - C#获取检查径向列表选项的有效方法
- javascript - 以用户身份从 chrome 扩展发送请求
- android - 在 play store 上发布后可以更改包名吗?