我具有以下C#函数:
public (double? Average, int? Count) AverageQuotes(Candle.Intervals Interval, DateTime From, DateTime To)
然后我用F#获取数据:
let struct (average, count) = db.AverageQuotes(previous, time, time + timespan)
问题在于,Average将C#留为两倍吗?并以Nullable的形式到达F#,因此在某处发生了double-> float转换。
如何将结果保持两倍?
答案 0 :(得分:6)
在F#中,float
和double
是System.Double
的别名。 32位双精度的别名为float32
和single
。请参见basic types或specification (PDF)的18.1节