我不知道为什么,但是列值总是以字符串而不是小数形式返回,我不知道如何解决这个问题。
它们正确存储在数据库中,但是当我使用 QueryBuilder 查询时,结果显示为字符串。
import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
@Entity({name:"collectionstats"})
export class CollectionStats {
@PrimaryGeneratedColumn()
id: number;
@Column("decimal")
one_day_volume: number;
@Column("decimal")
one_day_change: number;
@Column("decimal")
one_day_sales: number;
@Column("decimal")
one_day_average_price: number;
@Column("decimal")
seven_day_volume: number;
@Column("decimal")
seven_day_change: number;
@Column("decimal")
seven_day_sales: number;
@Column("decimal")
seven_day_average_price: number;
@Column("decimal")
thirty_day_volume: number;
@Column("decimal")
thirty_day_change: number;
@Column("decimal")
thirty_day_sales: number;
@Column("decimal")
thirty_day_average_price: number;
@Column("decimal")
total_volume: number;
@Column("decimal")
total_sales: number;
@Column("decimal")
total_supply: number;
@Column("decimal")
count: number;
@Column("decimal")
num_owners: number;
@Column("decimal")
average_price: number;
@Column("decimal")
num_reports: number;
@Column("decimal")
market_cap: number;
@Column("decimal")
floor_price: number;
}
这是来自 TypeORM 问题跟踪器的 解决方案:
分享我们使用的变压器:
/// ColumnNumericTransformer export class ColumnNumericTransformer { to(data: number): number { return data; } from(data: string): number { return parseFloat(data); } }
在实体中:
@Column('numeric', { precision: 7, scale: 2, transformer: new ColumnNumericTransformer(), }) public myNumericColumn: number;
对我来说,杰斐逊的答案不起作用。
我正在使用 TypeOrm 查询生成器并执行此操作:
.select('myNumericColumn :: float')
Jefferson dos santos aguiar 展示的解决方案非常完美!!!
恭喜...