Сохраните значения плавающие в SQL Server

По состоянию на март 2018 года, я думаю, что самым сильным ответом в этой теме по-прежнему остается принятый ответ 2011 года . Реализации, которые включали использование NSAppleScript или OSAScript, имели недостатки, которые имели незначительные, но крайне неприятные утечки памяти, не предоставляя каких-либо дополнительных преимуществ. Любой, кто борется с тем, чтобы этот ответ выполнялся правильно (в Swift 4), может попробовать это:

let manager = FileManager()
// Note that this assumes your .scpt file is located somewhere in the Documents directory
let script: URL? = try? manager.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
if let scriptPath = script?.appendingPathComponent("/path/to/scriptName").appendingPathExtension("scpt").path {
    let process = Process()
    if process.isRunning == false {
        let pipe = Pipe()
        process.launchPath = "/usr/bin/osascript"
        process.arguments = [scriptPath]
        process.standardError = pipe
        process.launch()
    }
}

7
задан gbn 9 September 2009 в 05:06
поделиться

2 ответа

Вы не на самом деле пытаетесь сохранить 123,66, потому что вы не можете представить 123,66 в точности как float или double. База данных сохраняет данные более точно, чем вы привыкли, вот и все.

Если вы хотите сохранить десятичных чисел точно, используйте десятичный тип .

Дополнительные сведения см. В моих статьях о типах плавающей двоичной точки и плавающей десятичной точки .

13
ответ дан 6 December 2019 в 11:52
поделиться

Это не проблема базы данных, а общая проблема с плавающей числа

4
ответ дан 6 December 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: