如何在C#中除十进制数?
我正在使用C#为一家医疗商店开发POS应用程序。根据商店的要求,他们有两种产品如何在C#中除十进制数?,c#,sql-server-2008,pos,C#,Sql Server 2008,Pos,我正在使用C#为一家医疗商店开发POS应用程序。根据商店的要求,他们有两种产品 没有变化的产品(没有子产品,即一瓶悬浮液或婴儿食品) 有变化的产品(有子产品,即一包药片->有3条->每条药片包含10片) 对于有变化的产品,我有变化标准(每种产品在每个包装中都有特定数量的板条,每个板条都有特定数量的片剂)。我对它们进行了分级管理。i、 e.A级(针对母产品)、B级(针对子项,例如包装中的条状物)、C级(针对条状物中的单个片剂)。我管理过类似的产品,以加快销售业务 根据客户行为,我希望管理销售操作,
2/3=0.66
;如果客户购买1条,则1/3=0.33
。如果另一位客户将从同一产品中购买一条或两条,那么由于小数点的原因,在几笔交易后,库存金额将变得棘手
我也在做同样的操作,如果客户购买的平板电脑少于10个,这对我来说是相当棘手的。我需要一些方法来管理库存减少,这样,如果在一次销售操作中30条
中有2条售出,那么剩余库存量将29.34或29.3
。后来,在同一产品的另一个销售操作中,如果另一个客户购买了一个条带,那么条带的库存量应该变成29
,而不是29.01
,因为这0.1
给我带来了问题
我将以同样的方式管理平板电脑的库存减少。我希望有人能帮我找到一个简单但可靠的解决方案。任何帮助都将不胜感激。库存管理系统通常通过将“产品”(即您销售的产品)的概念从“单位”(即您保存库存的产品)中抽象出来来处理这类问题 在您的情况下,您将按平板电脑或条带的单位管理库存(无论库存的适用原子表示是什么),然后创建与这些库存单位相关的产品 产品可能与库存单位存在1:1的关系(例如,产品“1条XYZ(10片)”=库存中的1条),或者产品可能是捆绑产品(例如,产品“一包XYZ(30片)”=库存中的3条) 您的库存成本是使用您选择的任何方法(先进先出法、加权平均法等)进行管理的,您的产品都有自己的(或多个)价格点 当产品“一包XYZ(30片)”售出时,您的库存将减少3倍
“剥离”单位(及其相关的销售成本已计算),您的收入将以“一包XYZ(30片)”产品的价格增长。我尝试将十进制数字除以C,然后得到输出。。下面的节目
namespace ConsoleApp1
{
class Program
{
static void Main(String[] args)
{
Decimal dividend = 1234.0m;
Decimal divisor = 21.1m;`
for(int ctr = 0; ctr <= 10; ctr++)
{
Console.WriteLine("{0:N1} / {1:N1} = {2:N4}", dividend, divisor, Decimal.Divide(dividend, divisor));
dividend += .1m;
}
Console.ReadKey();
}
}
}
我认为这对你很有用。。。
谢谢您……编辑:我的建议是,如果单位不是加权单位,则避免使用十进制,并按以下方式管理其余单位 考虑到工作的复杂性和您已经为此付出的努力,我建议您对体系结构进行少量更改 也就是说,你应该将你的“有差异的产品”分为两种不同的类型“包装”和“分离”,并对它们进行不同的管理 例如,现在有一种产品的变体名称为“Panadol”。 1包panadol(Parant产品)含60片(儿童产品) 您有一个产品“panadol”10包和30片的库存,您将把它们与相同的批号关联起来 现在你的库存应该是这样的
//Inventory table
| InventoryID | Batch | ProductID |
| 1 | 001 | 1 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 10 | 30 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 9 | 30 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 9 | 10 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 8 | 5 |
第一个交易1包,您需要检查库存,然后使您的交易表如下所示
//Inventory table
| InventoryID | Batch | ProductID |
| 1 | 001 | 1 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 10 | 30 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 9 | 30 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 9 | 10 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 8 | 5 |
第二次交易20片,您需要检查库存,然后使您的交易表如下所示
//Inventory table
| InventoryID | Batch | ProductID |
| 1 | 001 | 1 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 10 | 30 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 9 | 30 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 9 | 10 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 8 | 5 |
第三次交易65片,
首先,您将检查分离的库存,即不足。
然后你要检查包装好的存货,即是否足够
然后必须有元数据表,该表将保留1个panadol包装包含60片的记录。
现在,您将把打包的库存移动到分离的库存。
你的桌子一定是这个样子
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 8 | 70 |
现在您将进行事务处理,您的表将如下所示
//Inventory table
| InventoryID | Batch | ProductID |
| 1 | 001 | 1 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 10 | 30 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 9 | 30 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 9 | 10 |
// Stock table
| StockID | InventoryID | Packed Stock | Detached Stock |
| 1 | 1 | 8 | 5 |
留住你