1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-10-24 09:53:10 +03:00

Change the ROUND() function to return a REAL value instead of TEXT.

Ticket #1699. (CVS 3116)

FossilOrigin-Name: 9dbadfb2111f7d7f971e1832db3992ed5851d8b1
This commit is contained in:
drh
2006-03-02 03:02:48 +00:00
parent e3dd8bb5be
commit d589a92a26
4 changed files with 26 additions and 19 deletions

View File

@@ -16,7 +16,7 @@
** sqliteRegisterBuildinFunctions() found at the bottom of the file.
** All other code has file scope.
**
** $Id: func.c,v 1.124 2006/02/23 21:51:13 drh Exp $
** $Id: func.c,v 1.125 2006/03/02 03:02:48 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -201,10 +201,10 @@ static void roundFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
if( n>30 ) n = 30;
if( n<0 ) n = 0;
}
if( SQLITE_NULL==sqlite3_value_type(argv[0]) ) return;
if( sqlite3_value_type(argv[0])==SQLITE_NULL ) return;
r = sqlite3_value_double(argv[0]);
sqlite3_snprintf(sizeof(zBuf),zBuf,"%.*f",n,r);
sqlite3_result_text(context, zBuf, -1, SQLITE_TRANSIENT);
sqlite3_result_double(context, atof(zBuf));
}
/*