GVKun编程网logo

Python将逗号分隔的数字解析为int(python把用逗号分隔的数据)

15

在本文中,您将会了解到关于Python将逗号分隔的数字解析为int的新资讯,同时我们还将为您解释python把用逗号分隔的数据的相关在本文中,我们将带你探索Python将逗号分隔的数字解析为int的奥

在本文中,您将会了解到关于Python将逗号分隔的数字解析为int的新资讯,同时我们还将为您解释python把用逗号分隔的数据的相关在本文中,我们将带你探索Python将逗号分隔的数字解析为int的奥秘,分析python把用逗号分隔的数据的特点,并给出一些关于C#对逗号分隔的数字进行排序、Liquid:将逗号分隔的货币转换为点分隔、oracle – 将逗号分隔的字符串转换为PL/SQL中的数组、php – SQL逗号查询以逗号分隔的字符串与逗号分隔的字符串匹配?的实用技巧。

本文目录一览:

Python将逗号分隔的数字解析为int(python把用逗号分隔的数据)

Python将逗号分隔的数字解析为int(python把用逗号分隔的数据)

如何1,000,000在Python中将字符串(一百万)解析为整数?

答案1

小编典典

a = ‘1,000,000’
>>> int(a.replace(‘,’, ‘’))
1000000
>>>

C#对逗号分隔的数字进行排序

C#对逗号分隔的数字进行排序

在C#中,您认为最快的方法是什么?代码最终将成为sql Server CLR C#用户定义函数的一部分,但我认为这对于这个问题并不重要.

INPUT:  "1,3,2,5,4"
OUTPUT: "1,4,5"

必须通过将数字作为整数进行比较来完成排序,而不是将字符串或字符进行比较.

我目前有以下内容,但它是基于字符串排序,而不是整数.我可以介绍一个自定义的比较器但是我会问这个问题,看看其他人在我这样做之前是否有任何想法.

[Microsoft.sqlServer.Server.sqlFunction]
public static sqlString udfsortDimensionValueIDString(sqlString DimensionValueIDs)
{
    string[] values = ((string)DimensionValueIDs).Split(',');
    Array.sort(values);
    return String.Join(",",values);
}

如果重要,请使用.NET 3.5.

解决方法

你可以使用Linq:

using System.Linq; // no include required,just uses the namespace

  ...

  String Input = "1,4";

  String Output = String.Join(",Input
    .Split(',')
    .Select(x => int.Parse(x))
    .OrderBy(x => x));

Liquid:将逗号分隔的货币转换为点分隔

Liquid:将逗号分隔的货币转换为点分隔

如何解决Liquid:将逗号分隔的货币转换为点分隔?

我商店中的价格小数默认以逗号分隔(例如 6,99 €)。 现在我需要将它们转换为没有货币图标的点分隔版本(例如 6.99)。

有谁知道如何用液体过滤器做到这一点?我被卡住了!我不想更改商店中的基本格式设置。

谢谢!

解决方法

这样的事情应该可以解决问题:

{{ 145 | money_without_currency | replace:'','',''.'' }}

https://shopify.dev/api/liquid/filters/money-filters

oracle – 将逗号分隔的字符串转换为PL/SQL中的数组

oracle – 将逗号分隔的字符串转换为PL/SQL中的数组

如何将逗号分隔的字符串转换为数组?

我有输入’1,2,3’,我需要将其转换为数组。

Oracle提供了一个内置函数:dbms_utility.comma_to_table( http://download.oracle.com/docs/cd/E11882_01/appdev.112/e16760/d_util.htm#ARPLS73224)。

不幸的是,这个不适用于数字:

sql> declare
  2    l_input varchar2(4000) := '1,3';
  3    l_count binary_integer;
  4    l_array dbms_utility.lname_array;
  5  begin
  6    dbms_utility.comma_to_table
  7    ( list   => l_input
  8,tablen => l_count
  9,tab    => l_array
 10    );
 11    dbms_output.put_line(l_count);
 12    for i in 1 .. l_count
 13    loop
 14      dbms_output.put_line
 15      ( 'Element ' || to_char(i) ||
 16        ' of array contains: ' ||
 17        l_array(i)
 18      );
 19    end loop;
 20  end;
 21  /
declare
*
ERROR at line 1:
ORA-00931: missing identifier
ORA-06512: at "SYS.DBMS_UTILITY",line 132
ORA-06512: at "SYS.DBMS_UTILITY",line 164
ORA-06512: at "SYS.DBMS_UTILITY",line 218
ORA-06512: at line 6

但有一个小技巧,用“x”作为前缀元素,它的工作原理:

sql> declare
  2    l_input varchar2(4000) := '1,3';
  3    l_count binary_integer;
  4    l_array dbms_utility.lname_array;
  5  begin
  6    dbms_utility.comma_to_table
  7    ( list   => regexp_replace(l_input,'(^|,)','\1x')
  8,tab    => l_array
 10    );
 11    dbms_output.put_line(l_count);
 12    for i in 1 .. l_count
 13    loop
 14      dbms_output.put_line
 15      ( 'Element ' || to_char(i) ||
 16        ' of array contains: ' ||
 17        substr(l_array(i),2)
 18      );
 19    end loop;
 20  end;
 21  /
3
Element 1 of array contains: 1
Element 2 of array contains: 2
Element 3 of array contains: 3

PL/sql procedure successfully completed.

问候,抢。

php – SQL逗号查询以逗号分隔的字符串与逗号分隔的字符串匹配?

php – SQL逗号查询以逗号分隔的字符串与逗号分隔的字符串匹配?

下面的MySQL查询使用PHP来引入$sector,这是一个数字,$subsector_text是逗号分隔的字符串. $subsector_text可以是单个数字或多个ID的列表,例如“3,4,7,9”.

  $sql = "
SELECT disTINCT a.id
              , a.name
              , a.category_id
              , a.sector
              , a.subsector
              , a.year_in_operation
              , a.state
              , a.total_value
              , b.country_id
              , b.project_id
              , c.isocode_3
              , c.name
           FROM com_barchan_project a
           JOIN com_barchan_location b
             ON b.project_id = a.id
           JOIN com_barchan_country c
             ON c.id = b.country_id
           JOIN com_barchan_project_value_join d
             ON a.id = d.project_id
          WHERE a.state = 1 
            AND a.sector = '$sector'
            AND a.subsector REGEXP '^{$subsector_text}[,]|[,]{$subsector_text}[,]|[,]{$subsector_text}$|^{$subsector_text}$'
          ORDER 
             BY a.total_value DESC
              , a.category_id ASC
              , a.name ASC
";

我在上面的查询中遇到的问题是:

AND a.subsector REGEXP '^{$subsector_text}[,]|[,]{$subsector_text}[,]|[,]{$subsector_text}$|^{$subsector_text}$'  

如果$subsector_text =“3,4,5,9”,那么它只返回$subsector字段中包含“3,4,5,9”的记录.

期望的结果是它将返回任何具有$subsector_text中任何值的记录.例如,所有这些都应该返回,但目前不是.这个列表是一个例子,绝不是确切的.

1,3
1,5
1,3,7,9
3,5
3,4,5,9
9
3
5
4

如何更改查询以选择$subsector_text字符串中具有值的任何记录?

请注意:如果$subsector_text = 11,则不应选择以下内容作为示例.

1
12
21

任何帮助将不胜感激.

解决方法:

将逗号分隔字符串中的任何值与单个谓词中另一个逗号分隔字符串中的任何值进行匹配是不切实际的.

您可以使用FIND_IN_SET()一次搜索一个值.

这意味着您需要多个谓词,通过拆分输入$subsector_text获得每个值.因此,拆分变量并将其映射到一系列FIND_IN_SET()调用.

我没有测试过以下代码,但它应该让你知道我在说什么:

$subsector_array = array_map('intval', explode(',', $subsector_text));
$subsector_terms = array_map(
  function ($id) { return "FIND_IN_SET($id, a.subsector)"; },
  $subsector_array);
$subsector_expr = implode(' OR ', $subsector_terms);

$sql = "
SELECT ...
          WHERE a.state = 1 
            AND a.sector = '$sector'
            AND ($subsector_expr)
...";

这当然会强制进行表扫描,因为无法索引FIND_IN_SET()或搜索子字符串的任何其他操作.好吧,我认为你在a.state和a.sector上的条件将使用索引来缩小搜索范围,然后再应用FIND_IN_SET()条件.

我理解必须使用您继承的系统的困境.让你的经理知道这需要在某些时候进行重构,因为它现在的设计方式永远不会高效或可靠.

今天的关于Python将逗号分隔的数字解析为intpython把用逗号分隔的数据的分享已经结束,谢谢您的关注,如果想了解更多关于C#对逗号分隔的数字进行排序、Liquid:将逗号分隔的货币转换为点分隔、oracle – 将逗号分隔的字符串转换为PL/SQL中的数组、php – SQL逗号查询以逗号分隔的字符串与逗号分隔的字符串匹配?的相关知识,请在本站进行查询。

本文标签: