草庐IT

decimal_places

全部标签

c++ - 如何在 C++ 中使用 tagDEC(DECIMAL 类型)?

我使用返回WindowsDECIMAL类型的API。我需要转换它,我需要的信息是:小数位数值(value)本身比如我的数是1.234,我想得到(3,1234),对于10(0,10)对于0.01(2,1)。如何从tagDec对象中提取此信息?谢谢 最佳答案 给定DECIMALd,小数位数为d.scale值为(d.sign?-1:1)*(double(d.Lo64)+double(d.Hi32)*double(1UL 关于c++-如何在C++中使用tagDEC(DECIMAL类型)?,我们在

python - 如何将 python 中的 .place() 方法转换为 java?

我正在尝试将我的Python代码转换为Java。我需要一个类似于python的GUI,我可以在其中使用widgetname.place(x,y)将对象放置在窗口中我想要的任何位置。我希望能够指定对象在窗口中的放置位置。我尝试过GridLayout、GridBagLayout、BoxLayout和FlowLayout。这些都不允许我确定x和y坐标以将我的对象(文本字段、标签、按钮)放在我想要的任何地方。我需要能够使用x和y坐标指定对象在屏幕上的位置。有人有什么想法吗? 最佳答案 这可以通过将您的LayoutManager设置为null

c# - 无法将类型 'decimal?' 隐式转换为 'decimal' 。

sdr是我的sqldatareader,我想检查小数类型的curPrice值是否为空。inrec.curPrice=sdr.IsDBNull(7)?(十进制?)空:sdr.GetDecimal(7);这是我收到的错误消息:Cannotimplicitlyconverttype'decimal?'to'decimal'.Anexplicitconversionexists(areyoumissingacast?)我哪里错了,请有人告诉我。 最佳答案 decimal?表示它是一个nullable十进制;您必须使用Value属性来获取实际

c# - decimal.TryParse 乐于接受格式错误的数字字符串

有没有办法让C#TryParse()函数更……严格一点?现在,如果你传入一个包含数字、正确的小数点和千位分隔符的字符串,它通常似乎只是接受它们,即使格式没有意义,例如:123''345'678我正在寻找一种方法,如果数字格式不正确,TryParse不会成功。所以,我在苏黎世,如果我这样做:decimalexampleNumber=1234567.89m;Trace.WriteLine(string.Format("Value{0}getsformattedas:\"{1:N}\"",exampleNumber,exampleNumber));...然后,根据我的区域设置,我得到这个..

c# - 比 decimal.Parse 更快的替代方法

我注意到decimal.Parse(number,NumberStyles.AllowDecimalPoint,CultureInfo.InvariantCulture)比基于JeffreySax来自FasteralternativetoConvert.ToDouble的代码的自定义十进制解析方法慢大约100%publicstaticdecimalParseDecimal(stringinput){boolnegative=false;longn=0;intlen=input.Length;intdecimalPosition=len;if(len!=0){intstart=0;if(

c# - c# 中的 decimal 误解?

(在尝试分析decimal的工作原理时)&&在阅读@jonskeetarticle之后看到msdn,并思考了最后4个小时,我有一些问题:在thislink他们说的很简单:1.5x10^2有2位有效数字1.50x10^2有3位有效数字。1.500x10^2有4有效数字等...好的...我们明白了。来自jon的文章:sign*mantissa/10^exponentAsusual,thesignisjustasinglebit,butthereare96bitsofmantissaand5bitsofexponent^_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

c# - 来自 Microsoft 的“Decimal”源代码 - 它会构建吗?

我最近试图回答aquestionthatauserposted关于为什么decimal结构没有像所有其他数字基元一样将其最小/最大值声明为const;相反,Microsoft文档指出它是staticreadonly。在研究过程中,我深入研究了Microsoft源代码,并得出了一个有趣的发现;源代码(.NET4.5)使它看起来像一个const,这与文档明确说明的内容相反(源代码和相关的结构构造函数粘贴在下面)。publicconstDecimalMinValue=newDecimal(-1,-1,-1,true,(byte)0);publicconstDecimalMaxValue=ne

c# - 将 System.Decimal 转换为 System.Guid

我有一个很大的字典,其中的键是十进制,但是System.Decimal的GetHashCode()非常糟糕。为了证明我的猜测,我运行了一个包含100.000个相邻小数的for循环并检查了分布。100.000个不同的十进制数字仅使用2(两个!!!)不同的哈希码。十进制表示为16个字节。就像Guid一样!但是Guid的GetHashCode()分布非常好。如何尽可能便宜地将小数转换为C#中的Guid?不安全的代码是可以的!编辑:请求测试,所以这里是代码:decimald=96000000000000000000m;Dictionaryhashcount=newDictionary();in

c# - Decimal.Round() 如何抛出 OverflowException

我在用Decimal.Round(decimald)MSDN说它可以抛出OverflowExceptionhttps://msdn.microsoft.com/en-us/library/k4e2bye2(v=vs.110).aspx我不确定这是怎么发生的。我尝试使用ilSpy查看实现并得到直到外部实现://decimal[SecurityCritical][MethodImpl(MethodImplOptions.InternalCall)]privatestaticexternvoidFCallRound(refdecimald,intdecimals);有人知道什么输入可以抛出这

c# - 如何使用反射将 int 转换为 decimal?

我有一些代码(工作正常)看起来像这样:intinteger=42;decimal?castTo=integer;然后我想用反射做一些类似的事情,一些代码看起来像这样:objectvalue=source;//sourcewasanintoriginallyvarparameters=newobject[1];...parameters[0]=value;varsetMethod=property.GetSetMethod();//Callthesetmethod,whichtakesadecimal?asaparametersetMethod.Invoke(o,parameters);