首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将带括号的数字转换为负数

将带括号的数字转换为负数
EN

Stack Overflow用户
提问于 2014-04-15 13:09:15
回答 3查看 3.3K关注 0票数 1

我的Excel数据在负值周围有括号,但Excel并不将其视为负值,而是将它们视为文本。例如,尝试将有($25.00)和$50.00的单元格相加会给出#值!错误。

数据是从csv文件导入的。

这不是格式化问题,更改负值格式不会改变任何事情。那么,如何将这些值转换为实际负数呢?

谢谢。

这是一些样本数据,以防有人想要。所以括号中的值应该是负数,但现在似乎是文本。

代码语言:javascript
运行
复制
($25.00)
 $50.00
($35.00)
($15.00)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-15 13:14:21

尝试将$替换为nothing,)替换为nothing,(替换为-

票数 1
EN

Stack Overflow用户

发布于 2015-09-09 19:28:03

在未使用的单元格中键入1。复制它。选择存储为文本的数字,并选择主剪贴板-粘贴-粘贴特殊-乘。删除1

票数 1
EN

Stack Overflow用户

发布于 2015-09-09 15:16:33

用于将数字($6,437.55)转换为货币数据类型的完整语法:

代码语言:javascript
运行
复制
CASE WHEN IsNumeric(Replace(Replace(Replace([INPUT-COLUMN-NAME], ',', ''),')',''),'(','-')) = 1 Then Cast(Replace(Replace(Replace([INPUT-COLUMN-NAME], ',', ''),')',''),'(','-') AS Money) ELSE 0 END As [OUTPUT-COLUMN-NAME]

这可以直接在SQL语句中使用,如选择ColumnA,如上面所示的情况,表中的ColumnC。加入等。

您还可以定义一个类似的函数(它附带性能损失),并在select语句中使用函数。

代码语言:javascript
运行
复制
CREATE FUNCTION dbo.ConvertStringToMoneyType(@input_Number varchar(50))
RETURNS MONEY
AS
BEGIN

Declare @Output_Number money = 0

Set @Output_Number = CASE WHEN IsNumeric(Replace(Replace(Replace(@input_Number, ',', ''),')',''),'(','-')) = 1 Then 
        Cast(Replace(Replace(Replace(@input_Number, ',', ''),')',''),'(','-') AS Money) ELSE 0 END

RETURN @Output_Number


END
GO
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23084711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档