如何为数据表中的列设置最多6位的小数精度?

时间:2016-11-24 12:44:54

标签: c# datatable precision

在我的申请中,对于货币分析,我必须处理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位?

申请背景:

  • 使用HTML5和AngularJS的C#Web应用程序
  • SQL Server

3 个答案:

答案 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。