c# - 制作类来封装 isLong/isDouble 函数
问题描述
我正在尝试创建一个包含 4 个函数的类:isLong、isDouble、stringToLong 和 stringToDouble。我试图在不使用 TryParse 函数的情况下做到这一点。理想情况下,此类将接收一个字符串并按相应的顺序返回适当的类型(bool、bool、long 和 double)。
例如,如果我输入数字 100000,它会为 isLong 返回 True (bool)。
下面是我如何执行 isLong 的示例,但我很难尝试对 isDouble 执行相同的操作以接收小数以及 stringToLong/stringToDouble。
public static bool isLong(string s)
{
bool ret = true;
int i;
s = s.Trim();
if (s[0] == '-')
{
i = 1;
}
else
{
i = 0;
}
for (; (i < s.Length); i = i + 1)
{
ret = ret && ((s[i] >= '0') && (s[i] <= '9'));
}
return (ret);
}
解决方案
您可以使用 MinValue 和 MaxValue 属性来检查数字类型,例如,您可以定义如下方法:
public bool IsLong(decimal value)
{
return value >= long.MinValue && value <= long.MaxValue && value == (long)value;
}
推荐阅读
- curl - 从 ProcessMaker 发出 curl 请求时出现 RuntimeException
- android - 在 Flutter 中使用 GetConnect 库获取错误代码 415 不受支持的媒体类型
- javascript - 运行 npm 测试时出现 nyc 正则表达式拒绝服务漏洞
- javascript - store.dispatch 在 vuex 状态下不起作用
- wordpress - 无法在 WordPress 中发送电子邮件
- javascript - 反应日期选择器版本 4.1.1。年份下拉标题箭头未显示
- c# - 如何将 .net 核心控制台应用程序转换为窗口服务?
- xamarin - Masterdetailpage 导航空白屏幕
- python - python中的csv写入器格式单元格
- android - 没有为类型“xxx”定义方法“xxx”。即使定义了方法,也会发生错误