c# - 如何在不使用其他类库的情况下编写 toString 方法
问题描述
我想编写自己的 toString 方法,因为我不允许使用任何类库。
所以我看了一下 toString 方法的源代码,但是它使用了很多其他的库。我想将整数转换为字符串,但我不确定如何逐个处理数字。
如果我能做到这一点,我可以继续将整数转换为字符,最后将所有字符相加为字符串。
有人可以帮忙吗?
解决方案
我不明白为什么不允许您使用任何库。但是,如果您需要完全手动进行转换,您可以这样做
private static string IntToString(int i)
{
string[] digits = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
string sign = (i < 0 ? "-" : "");
var absI = (i < 0 ? -i : i);
string result = "";
while (absI != 0)
{
int digit = absI % 10;
result = digits[digit] + result;
absI = (absI - digit) / 10;
}
return sign + result;
}
上面的代码不能正常工作为零。如果您需要,添加起来非常简单。
推荐阅读
- javascript - navigator 在 React Native 中同时出现导航和容器道具错误
- python - 如何在 jupyter notebook 中触发保存命令?
- java - 如何将缓存配置为指向本地 ehcache 而不是继承的?
- javascript - 如何从 Javascript/React 发送 AJAX 请求并在 Python REST API 中接收数据
- python - Python tkinter askopenfilename 为我工作,现在没有响应
- android - 如何在 CardView 中移动 ImageView 和 TextView?
- javascript - 结合正则表达式模式javascript
- python - 在 PYCharm 和 Spyder IDE 中运行相同代码时的不同结果
- javascript - 如何使用多个 setInterval()?
- r - 从R中的向量中的文本字符串中提取不同长度的数字