在我的申请中,对于货币分析,我必须处理7,6格式的数字。十进制格式前7位数和小数点后6位数。 示例: 1234567.123456
我从用户那里获得汇率并通过C#代码将其发送到后端。我使用以下数据表来存储费率并将其发送给SP。
DataTable structureTable = new DataTable("CurrencyAnalysis");
structureTable.Columns.Add("CurrentYearRate", typeof(decimal));
structureTable.Columns.Add("PriorYearRate", typeof(decimal));
现在,问题在于每当我尝试保存小数点后6位数的数字时,只保存小数点后的前两位数。 即,如果我保存 1234567.123456 ,则仅保存 123456.12 。
只需要两个精度。如何为该列设置小数精度,使小数点右边最多可以包含6位?
申请背景:
答案 0 :(得分:1)
将数据库值定义为java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources$Theme android.content.Context.getTheme()' on a null object reference
at android.app.Dialog.<init>(Dialog.java:175)
at android.app.Dialog.<init>(Dialog.java:149)
at com.contus.mcomm.views.Progress.showProgress(Progress.java:44)
at com.contus.mcomm.fragments.ProductListFragment.setUserVisibleHint(ProductListFragment.java:154)
at android.support.v4.app.FragmentStatePagerAdapter.setPrimaryItem(FragmentStatePagerAdapter.java:157)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1270)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1120)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1646)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
第一个值decimal(18,6)
是精度,第二个(18)
是比例,因此(6)
基本上是18位数,后面是6位数小数位。
答案 1 :(得分:0)
在数据库中将其定义为.avi
答案 2 :(得分:0)
在Sql Server上,您可以选择这3种数据类型:
Float - 32位(7位)
十进制 - 128位(28-29位有效数字)
检查您是否选择:decimal(18,2)
这可能是您有2位小数的原因。
您也可以将您的号码存储为Float。