问题列表 - 第31709页

在Python中进行会计的最佳实践

我正在编写一个web2py应用程序,需要在不损失精度的情况下汇总美元金额.我意识到我需要使用Decimals,但我发现自己必须用数据库包装我得到的每一个数字:

Decimal(str(myval))

在我疯狂添加到我的所有代码之前,有更好的方法吗?我是Python的新手,所以很有可能我忽略了一些明显的东西.

编辑:我的数据库是MS SQL Server,我将数量存储在SQL Server money字段中(我相信实现类似于Decimal,即整数数学,而不是浮点数).

我通过web2py框架(pyodbc用于SQL Server连接)连接到数据库.我相信web2py对小数类型有一些支持.例如,我的web2py字段定义如下所示:Field('Amount','decimal(19,4)') 但是,当我使用web2py的.executesql方法从数据库返回一个值时,它返回的值为a float而不是a Decimal.

编辑:这似乎是FreeTDS和MS SQL Server的问题.正如Massimo在评论中所说,web2py正确地支持它并返回一个Decimal(如果可以的话).事实证明这只是我的生产环境(Linux)中的一个问题.我使用FreeTDS驱动程序连接到MS SQL,它似乎正在将MS SQL钱类型转换为python float.

我认为Alex Martelli的答案指向了正确的方向.有没有人有FreeTDS,MS SQL和python的经验?我认为这可能保证了它自己的问题,所以我将动议这个讨论......(这里发布的新问题:FreeTDS将MS SQL钱类型转换为python float,而不是Decimal)

更新:FreeTDS实际上存在一个错误.自2010年8月4日起,这已 FreeTDS 的CVS负责人中得到修复.

python accounting currency decimal freetds

5
推荐指数
1
解决办法
2763
查看次数

如何在radgrid中查找所选行的列值

我正在使用带有rowcontextmenu的radgrid.当我右键单击一个radgrid行并选择编辑选项时,它将打开一个弹出窗口.我需要的是当我右键单击radgrid行时,我只想获得该特定选定行的3列值.例如,当我右键单击选定的radgrid行时,我想获取所选行的客户名称,头端名称,站点名称值.

这是我的代码......

<MasterTableView GridLines = "None" DataKeyNames="orderId" CommandItemDisplay="Top"
                            EditMode="EditForms">
    <Columns>
        <telerik:GridClientSelectColumn UniqueName = "ClientSelectColumn" HeaderStyle-Width="3%"
            ItemStyle-Width="3%">
            <HeaderStyle Width = "3%" ></ HeaderStyle >
            <ItemStyle Width="3%"></ItemStyle>
        </telerik:GridClientSelectColumn>
        <telerik:GridBoundColumn UniqueName = "sId" HeaderText="sId" DataField="sId" ReadOnly="true"
            Visible="false">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn UniqueName = "orderId" HeaderText="orderId" Visible="false"
            ReadOnly="true" DataField="orderId">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn UniqueName = "Customer Name" HeaderText="Customer Name" DataField="Customer Name"
            ReadOnly="true">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn UniqueName = "Market Name" HeaderText="Market Name" DataField="Market Name"
            ReadOnly="true">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn UniqueName = "LOB" HeaderText="LOB" DataField="LOB" ReadOnly="true">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn UniqueName = "Headend Name" HeaderText="Headend …
Run Code Online (Sandbox Code Playgroud)

telerik

3
推荐指数
1
解决办法
5万
查看次数

访问模板参数的受保护成员

我有一个模板类,我需要访问模板参数的受保护成员函数,如下所示:

class Foo
{
protected:
    void foo() {}
};

template<typename T>
class Bar
{
public:
    static void bar(T& self){self.foo();}
};
...
Foo f;
Bar<Foo>::bar(f);
Run Code Online (Sandbox Code Playgroud)

我的问题是访问受保护的方法.我尝试将一个friend class T进入Bar,但在c ++中似乎不允许这样做(编辑:并且无论如何都不会解决我的问题,所以它似乎).我试过让Bar继承自T(template<typename T> class Bar: public T(本来可以使用私有继承,但Bar的公共接口并不是非常重要,因为类本身只是内部的)),但这不允许访问foo()任何一个.那么我该如何访问该foo()方法?

编辑: Foo不应该知道Bar<Foo>,因为有很多Bar类.然而,我可以对Foo进行其他更改(当然不改变公共接口).

c++ templates visibility

0
推荐指数
1
解决办法
1609
查看次数

JBoss Seam:注入@Create方法可能吗?

我似乎无法在@Create方法中注入Seam组件.我在文档中找不到任何暗示这是不可能的,这将验证我是否犯了错误.

是否有可能注入@Create?

干杯!

java seam code-injection bijection

3
推荐指数
1
解决办法
2206
查看次数

区别/合并两个文件

我有两个IP地址列表.我需要把它们合并成三个文件,路口,来自列表1只和那些从列表2只.

我能做到这一点使用awk/DIFF或任何其他简单的unix命令?怎么样?

文件看起来像这样:

111.222.333.444
111.222.333.445
111.222.333.448
Run Code Online (Sandbox Code Playgroud)

谢谢!

shell awk

5
推荐指数
1
解决办法
300
查看次数

如何创建实用程序存储过程并像其他sp _...实用程序一样运行它

我需要在我的数据库服务器上一次创建一个存储过程,但是能够从任何数据库运行它. 但是,我不希望database.schema.procedure_name每次运行它都要输入. 我希望能够使用它像内置的程序:sp_... 有没有办法做到这一点?

这是我正在尝试创建的过程:

--actual procedure is more complex
CREATE PROCEDURE TestProcedure
AS

select * from sys.dm_exec_requests 

go
Run Code Online (Sandbox Code Playgroud)

这是我想从SQL Server Management Studio运行它的方式:

EXEC TestProcedure
--or 
TestProcedure
Run Code Online (Sandbox Code Playgroud)

但是,你得到这个错误:

Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'TestProcedure'.
Run Code Online (Sandbox Code Playgroud)

如果我运行它,一切运行正常:

EXEC master.dbo.TestProcedure
--or
master.dbo.TestProcedure
Run Code Online (Sandbox Code Playgroud)

您可以运行这样的系统过程而不会出现任何错误:

EXEC sp_help
--or
sp_help
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2005

3
推荐指数
1
解决办法
521
查看次数

php尝试...其他

PHP中有类似于try ... elsePython的东西吗?

我需要知道try块是否正确执行,因为块正确执行时,将打印一条消息.

php exception

18
推荐指数
3
解决办法
1万
查看次数

IntelliJ IDEA包装单行匿名类的设置

如何设置IntelliJ IDEA以防止在自动重新格式化(CTRL+ ALT+ L)期间将在一行上声明的匿名类拆分为多行?

例如,防止分裂

x = foo(new Boo() {});
Run Code Online (Sandbox Code Playgroud)

分为两行:

x = foo(new Boo() {

});
Run Code Online (Sandbox Code Playgroud)

intellij-idea

3
推荐指数
2
解决办法
5784
查看次数

如何在Cocoa中获得NSArray的前x个元素?

Cocoa的新手,似乎缺少一些东西.

获得NSArray另一个x元素的最优雅/惯用方法是NSArray什么?显然我可以遍历它们并手动存储它们,但似乎必须有一个更标准的方法来做到这一点.

我期待有一个-arrayWithObjectsInRange:或类似的东西,但没有看到任何东西......

NSArray* largeArray...// Contains 50 items...

NSArray* smallArray = // fill in the blank     

// smallArray contains first 10 items from largeArray
Run Code Online (Sandbox Code Playgroud)

谢谢!

cocoa objective-c

52
推荐指数
2
解决办法
2万
查看次数

iPhone:NSFetchedResultsController,具有来自单独线程的委托和数据更新

首先,抱歉这个问题太久了.

我知道这里讨论类似问题的问题很少,但这些问题都没有谈到NSFetchedResultsController与委托以及单独线程中的更新.并没有一个解决方案帮助了我.
这些是现有的问题:

现在关于我的问题:

  • 我有一个单独的线程,用于从Web更新核心数据对象(使用套接字).
  • 很少有视图控制器显示来自同一核心数据对象的数据(每个选项卡包含一个显示其过滤数据的视图控制器).
  • 每个视图控制器都有自己的实例,NSFetchedResultsController并且委托设置为self.

有时我会was mutated while being enumerated在单独的线程中更新数据时收到异常,有时会崩溃应用程序.

我已经做了很多代码操作,试图修复它,似乎没有任何帮助.
我已经尝试不直接从表视图数据源方法使用托管对象.而不是我创建了一个包含字典列表的数组.我用didChangeObject上面的方法填写这些词典.这样我就不会在视图控制器中触摸托管对象了.

然后我明白问题出在NSFetchedResultsController中,可能一直在迭代数据.这是与单独线程中的数据更新冲突的对象.

问题是,一旦我有一个带委托的NSFetchedResultsController(意味着它"监视"数据并一直更新delagate),我如何更新单独线程中的核心数据对象.

NSFetchedResultsControllerDelegate实现:

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
    [self.tableView beginUpdates];
}
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath {
    if ( self.tabBarController.selectedIndex == 0 ) {
        UITableView *tableView = self.tableView;
        @try {
            switch(type) 
            {
                case NSFetchedResultsChangeInsert:
                    [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
                    break;
                case NSFetchedResultsChangeDelete:
                    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
                    break;
                case NSFetchedResultsChangeUpdate:
                    [tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone]; …
Run Code Online (Sandbox Code Playgroud)

iphone multithreading delegates core-data nsfetchedresultscontroller

5
推荐指数
1
解决办法
3836
查看次数