gpt4 book ai didi

c# - 将文本分数转换为小数

转载 作者:可可西里 更新时间:2023-11-01 03:00:14 27 4
gpt4 key购买 nike

类似于this question只是在 C# 而不是 JavaScript 中。我在搜索时找不到 C# 的任何内容

我有一个文本框,其中包含一个数量,稍后将其作为 double 值存储在数据库中。但是,有些数量可能会作为字符串分数输入,例如 1/2 表示 0.5。我希望能够在将它们存储到数据库之前将它们转换为十进制(能够也转换回来会很好但不是必需的)。我希望能够处理分数和带分数,例如2 1/2 保存为 2.5

有人知道这样做的方法吗?

最佳答案

尝试用空格和斜杠拆分它,比如:

double FractionToDouble(string fraction) {
double result;

if(double.TryParse(fraction, out result)) {
return result;
}

string[] split = fraction.Split(new char[] { ' ', '/' });

if(split.Length == 2 || split.Length == 3) {
int a, b;

if(int.TryParse(split[0], out a) && int.TryParse(split[1], out b)) {
if(split.Length == 2) {
return (double)a / b;
}

int c;

if(int.TryParse(split[2], out c)) {
return a + (double)b / c;
}
}
}

throw new FormatException("Not a valid fraction.");
}

Hey, it worked!记住也要检查是否被零除。结果是 Infinity、-Infinity 或 NaN。

关于c# - 将文本分数转换为小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13903621/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com