JS代码: 数字、字符串、转化为保留两位小数 千分位显示

function formatNumber(num) {
  // 判断输入是否为字符串,如果是字符串则转为数字
  if (typeof num === 'string') {
    // 移除可能存在的非数字字符(如逗号等)
    num = parseFloat(num.replace(/[^0-9.-]+/g, ''));
    if (isNaN(num)) {
      return 0; // 如果转换失败,返回 0 或其他默认值
    }
  } else if (typeof num !== 'number') {
    // 如果输入既不是字符串也不是数字,返回 0 或其他默认值
    return 0;
  }
  // 保留两位小数并转为数字返回
  return Number(num.toFixed(2));
}
function showFormatNumber(num) {
    if (typeof num === 'string') {
        num = parseFloat(num.replace(/,/g, ''));
        if (isNaN(num)) {
            return '0.00';
        }
    }
    if (typeof num !== 'number') {
        return '0.00';
    }
    return num.toLocaleString('en-US', {
        minimumFractionDigits: 0,
        maximumFractionDigits: 2
    });
}

Thinkphp 多表查询 如果为NULL 为0 且外接表不存在则为0

需要leftJoin 关联一个可能为空的表,设置IFNULL(COUNT(a.id),0)

RT 上代码

        return $this->alias("a")
                    ->join("loan_co b","a.loan_co_a=b.id")
                    ->join("loan_co c","a.loan_co_b=c.id")
                    ->leftJoin("loan_hk d","a.id=d.lid")
                    ->where($where)
                    ->field("a.*,b.name as aname,c.name as bname,IFNULL(sum(d.hk_money),0) as pk")
                    ->group("a.id")
                    ->select();

范例二

反复调用field(“a.*,IFNULL(SUM(b.number),0) as done_number,ROUND(100*(number-done_number)/number,2)”)

  • IFNULL(SUM(b.number),0) as done_number
  • ROUND(100*(number-done_number)/number,2)
    public function show_ones($id){
        // 对大资产ID下的信息全部查询
        $PropertyOne=new PropertyOneModel();
        $where[]=['a.pid',"=",$id];
        return $PropertyOne->alias("a")
                    ->leftJoin("lease b","b.po_id=a.id")
                    ->where($where)
                    ->field("a.*,IFNULL(SUM(b.number),0) as done_number,ROUND(100*(number-done_number)/number,2)")
                    ->group("a.id")
                    ->select();
    }

Thinkphp 时间戳 软删除 更新 插入

数据库中得有3个

  • create_time
  • update_time
  • delete_time

且这三个为int 默认NULL

插入数据和修改数据 必须使用save
即使用对象操作。若使用insert 则不可以
create 和save 来实现时间戳

使用SAVE来插入数据:但是save返回值成功1 失败false 无法返回ID

$user = new User();
$user->name = 'thinkphp';
$user->save();
echo $user->create_time; // 输出类似 2016-10-12 14:20:10
echo $user->update_time; // 输出类似 2016-10-12 14:20:10

CREATE 来插入数据,可以返回ID

$userData = [
    'name' => '张三',
    'email' => 'zhangsan@example.com',
];
// 使用 create 方法插入数据

$user = User::create($userData);
echo $user->id;//插入后的ID

更新数据SAVE

#update
$result = User::where('id', $userId)->update($updateData);
$user=User::find($userId);
echo $user->update_time;//UPDATE时间

#save 1
$user=User::find($userId);
$user->name="Tom";
$user->save();
echo $user->update_time;//UPDATE时间

#save 2
$result = User::where('id', $userId)->save($updateData);
$user=User::find($userId);
echo $user->update_time;//UPDATE时间

配置:

<?php
namespace app\portal\model;
use think\facade\Db;
use think\Model;
use app\portal\model\LoanModel;
use think\model\concern\SoftDelete;

class HmModel extends Model
{
    /**
     * 模型名称
     * @var string
     */
    use SoftDelete;
    protected $name = 'hm';
    protected $autoWriteTimestamp=true;
    protected $deleteTime="delete_time";

软删除:必须使用对象操作

$Hm=new HmModel();
$j=$Hm->find(1);
$j->delete();
$j=$Hm->where('xh',11)->select();
$j->delete();

#或者
$j=$Hm->where('xh',11)->select()->delete();

软删除下的错误删除范例

$Hm->where('xh',11)->delete();

在软删除开启的情况下,上面的语句会执行失败!

UI固件 gooey gooeypie Python 【TAG】

gooey
pip install gooey -i https://mirrors.aliyun.com/pypi/simple

gooeypie 这个更方便,python>3.6即可
pip install gooeypie -i https://mirrors.aliyun.com/pypi/simple

gooeypie的文档:https://www.gooeypie.dev/widgetshttps://www.gooeypie.dev/widgets

综合来看 gooeypie非常方便,插个眼,以后备用。

CD-R 刻录TAG

  • 第一步:

你希望如何使用此光盘?
选择:用于 CD/DVD 播放机

  • 第二步:刻录音频 CD

按计算机上可以播放的数据将音乐文件刻录到光盘,或者以家庭或汽车音响可以播放的格式刻录。
你想使用哪种格式?
选择:生成一张数据 CD(供计算机和某些 CD 播放机播放)(D)