c# - 如何将对象类型转换为 float ,其中对象可以是任何类型的数字,如 int、long、float、double 等

标签 c# casting numbers

我有对象流,可以是任何类型的数字,如 int、short、long、float 等... 将其转换为数字的最佳方法是什么。最好的方法可能是某事 ToNumber(object oNumber)

// Best magic could be
var number = (somemagic) oNumber;

float operator1 = oNumber is int 
  ? (float)(int)oNumber
  : oNumber is long 
     ? (float)(long)oNumber
     : oNumber is float 
        ? (float)oNumber 
        : (float)(int)oNumber;

假设 float 将能够接受所有数字 expect double

最佳答案

我相信Convert.ToSingle将能够处理您抛给它的任何“核心”数字类型。

关于c# - 如何将对象类型转换为 float ,其中对象可以是任何类型的数字,如 int、long、float、double 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31054297/

相关文章:

c# - 如何在 NHibernate 事务中使用回滚模式?

c# - 去掉 h2 标签之间的内容(包括 h2 标签)

c# - 使用 JSON.Net 保留继承的类类型

c# - 如何解决 "InvalidCastException"?

function - 戈朗 : chaining function to returnself

java - 模块化分区

Javascript 数组的最大值并找到它在哪里?

c# DirectoryEntry InvokeSet HomeDirectory 和 HomeDrive,错误

c# - 用户定义的结构转换作为函数的默认参数

perl - 如何将像 "1..15,16"这样的字符串扩展为数字列表?